Entries from 2009-01-01 to 1 year
あまりこういうチラ裏エントリは書かないつもりでいたけど。どうしても RHEL4 上で gcc 4.3 のパッケージを作らないといけないという状況にいて、何度も試行錯誤を繰り返す中、途中で出てくる gnat という文字がどうにも気になってしまったので Ada を触って…
先日は、大量の「これはひどい」タグをありがとうございました。これからも PHP の生けるマジコンとして突っ走る所存です。 配列は、以下のようにして繋ぐことも val = $a; } } function ref($a) { return new Ref($a); } ref(array(1, 2, 3))->val[0]; PHP …
PHP では以下のように new してすぐメソッドを呼べない getOffset(); PHP で引数をそのまま返す関数を作っておくと便利 PHP はどうせマジメな言語ではないので自分用に作り替えるくらいが丁度いい。以下 diff↓
id:ichii386 に phpでunsigned int超えそうなbit演算する方法っていいのないかな? と言われたので 64ビットアーキテクチャにすれば? と言ってみたのだが、一応、考えてみた。仕組みといっても大したことはなく、ソースの通り。52ビットまでならこうやってご…
追記: 最後の図の「C」の参照カウントが 1 ではなく 2 になっていたのを修正 次回は cycle collector の実装と、回避方法について書く予定。 言語の GC 機能と参照カウント (中編) と 2008 年の 5 月 31 日に書き残して早 1 年と 2 ヶ月を迎えようとする中の…
追記: タイトルが不正確だと思ったので修正。Wassr で id:kazuhooku さんがつぶやいていたので、それに触発されて。それにしてもこの 2 つは本当に水と油だね。typeinfo 見てディスパッチする、というのがばっちりはまる場合というのも結構ありそうだけど、…
明らかに前者の方が速いだろうと思っていたがコンパイラをなめていたようだ。 g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3 Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty…
意味あるかどうかわかんないけど思いついたので。↓以下テストコード
The JUI 2009 Returnsに参加してきました。発表者の皆様お疲れさまでした!!!!JavaScript は柔軟な文法を持っていながら、ドメイン特化型言語として生まれた宿命か、何度もその寿命を宣告されてきた言語だと思いますが、今回の発表はそんなことを微塵も感…
PyObjC とか RubyCocoa とかの話ではなく、C で書くって話。 なんかも結局 #import 使ってるので全部自前で用意した次第。 $ gcc -o test test.c -framework AppKitなどとしてコンパイルして実行すると空のウィンドウが出現します。Objective-C 2.0 の API …
昨日は GDD の GAE Hackathon で、id:kagigotonet さんと 2 人で PHP (笑) チームを作り、あれこれとやってました。私の方では結局 Quercus にパッチを当てて (バグを直して) Datastore の API を直接使えるようにするということをやりました。これまでも Da…
この先が気になって調べてみた。Issue 2517: Error when printing an exception containing a Unicode stringこの問題は デフォルトのエンコーディングが ascii となっている件→デフォルトのエンコーディングが「何のための」エンコーディングのデフォルトな…
Free な OS の標準的な日本語フォントとして Vine Linux をはじめ様々なディストリビューションに採用されている「VL ゴシック」。字体の見やすさなどから、徐々に愛好者を増やしているようなんだけど、前々から気にくわなかったのがこれの太字。小さい文字…
アーキテクチャに関する質問として、「○○の仕組みってどうなってるの」というようなことを聞かれても、説明下手なせいか、なかなか口で説明できないことがある。そこで「UTSL (ソース読めばいいよ)」と言いたいんだけど、かといって実際に、これを読むといい…
一応 select(2) も読んであったので説明しとく。メインループは非常に短いので抜粋。ここにはビットマップの転送処理は含まれていないので注意。max_select_fd() の前後が rcu_read_lock() と rcu_read_unlock() で囲まれているのは、ドキュメント (Document…
yacc と lex で簡易言語の AcotieScript っての作ってみた→ http://github.com/moriyoshi/AcotieScriptというわけでみなさんよろしく まとめperlとrubyはparserをyaccでやってトークナイザはlex使わないで自前でやってる。 PHPもyacc使ってるが何かスッゲー…
よく C10K 問題とかいって epoll(7) の話が出てきて select(2) 遅いね poll(2) 遅いねってなるんだけど、正直なところ、これらのシステムコールを実際に使ってコードを書いてみたひとはどのくらいいるのだろう。ましてや eventpoll が何やってるか知っている…
llvm-pyはドキュメントがめちゃくちゃよく書けているのはいいんだけど、バインディングとしての完成度は…普通かな。0 から 9 までの値をそれぞれ 2 倍したものを表示するサンプルを書いてみた。実は with を初めて使った。basic block (BB) のセマンティクス…
演算子オーバーロードがどう動いているのかを確かめるため、いろいろ意地悪なサンプルを書いてみる。 class MyType(type): def __init__(self, name, bases, dict): type.__init__(self, name, bases, dict) self.__add__ = lambda self, rhs: 1 def __getat…
これも有用性は不明。DOMツリーをトラバースするなりDigester (古い?)使うなりしたほうがいいと思いますけどね。 <document> <list> <item>a</item> <item>b</item> <item>c</item> </list> <list> <item>a</item> <item>b</item> </list> </document> こんな XML ツリーをパースするコードです。可読性はSAXハンドラを素で書いたにしてはいい方かもしれないけど、悪い。リフレ…
追記: コードに深刻な勘違いがあったので修正。前回は、ひとまず次のような機能を実装したモジュールを書いた。 ディレクトリを開く ディレクトリのエントリの一覧を取得する ディレクトリのエントリの属性を取得する ファイルを開く ファイルの内容を読む …
Fuseとか使えばまああっさりな話なんだけど、実際どう動くのかを知りたかったので書いてみた。もちろんFuseのソースは参考にしていない。それにしても本当に資料がないんだよなあ。結局ソース読み込んだ。というわけであんまりお作法的なものはよく分からな…
追記: id:hasegawayosuke さん曰く「c4xぢゃ?」E4X の E は embedded だと思ってたら ECMAScript だったのか。 まあ AS3 の E4X はなんなんだという話もあるわな…。 ついかっとなってやった。 int main(int, char **) { using namespace xml_builder; xml($ …
http://projects.scipy.org/numpy/ticket/964 more argument specifiers than keyword list entriesなどとぬかしやがります。ってか下位互換性をキープしてない Python も悪いし、変なフォーマット文字列を PyArg_ParseTupleAndKeywords() に渡している f2py…
4/22追記: Mach-O builder も実装したので Intel Mac でも遊べる。JQuery っぽい文法で、ブックマークレットとして簡単に遊べるアセンブラが欲しいと思って勢いで書いてみた (デモ)。とりあえず以下のサンプルが動くくらいにしか実装してない。 var buf = ne…
GAE固有の問題と言うよりは、Quercusにもともとあった問題なんだけど、文字コードのハンドリングが恐ろしく適当で、まったく多バイト文字が通らないような状況だったのを、さらにパッチをあてて通るようにしてみた。ここのサンプルも文字化けせず動くように…
R の Python バインディングである RPy の spec ファイルを書いた。
追記: 詳細な手順がマイコミジャーナルに掲載されました。竹添さん、ありがとうございました。ここで書いた件ですが、forkしたコードをGitHubに上げました。http://github.com/moriyoshi/quercus-gae/手順は以下のファイルに書いてあります。http://github.c…
詳しいことは明日書くけども、QuercusのSVN版とResinのソースの一部を使って、あとパッチあてまくって何とか動かせました。キャッシュなどでGAE固有の調整が必要なのでforkしようと思っています。sample 1sample 2 This is a quick attempt to run PHP scrip…
先日は id:sotarok にきれいなPHPをあげたんだけど、今度はid:ockeghemさんが PHPの@演算子って、BASICのon error resume nextをどうしても連想しますね。えーっと、PHPの5.4でon error ... も追加されるのでしたっけ\(^o^)/ http://wassr.jp/user/ock…