壊れたメガネ

ホッチキスの達人の意識の高いブログ。

php-llvm ビルドメモ

llvm
http://pecl.php.net/package/llvm

Ubuntu 13.04 64bit でビルド。

LLVM-3.1

https://github.com/preillyme/llvm/blob/master/INSTALL に従い LLVM-3.1 を準備。
途中、 bits/c++config.h' file not found というメッセージと共にコンパイルエラーにあったが、
13.04 appears to have a special way with include-paths にある通り /usr/include/x86_64-linux-gnu/c++/4.7 を環境変数 $CPLUS_INCLUDE_PATH に追加してとりあえずビルドを通す。

$ CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu/c++/4.7
$ export CPLUS_INCLUDE_PATH

というか、このディレクトリは標準インクルードパスに入ってないの?このへんは謎。

php-5.4 と llvm 拡張

php-5.3 で phpize && ./configure && make とやってみたが、この拡張が使用している Zend API が5.3のそれと異なっていて make が通らなかったので、 5.4 に切り替えた。
あとから気づいたけど、
https://github.com/preillyme/llvm/commit/99bdfa2944c9ca986d3604d7687231b2e7888a01
とあるように、始めから 5.4 でよかったんや。コミットログちゃんと見るべし。
リンクの際、 undefined reference to dladdr なるリンクエラーが。
Why am I getting “undefined reference to `dladdr'” even with -ldl for this simple program?
にしたがって config.m4 を修正で make は通った。

しかし、 https://github.com/preillyme/llvm/blob/master/INSTALL の手順4

$ php -dextension=phpllvm.so your_script.php

で LLVM ERROR: JIT does not support inline asm! なるエラーが出る。
そして今やる気なくなったので、このメモを残して FPS やることにした。

AVR 画像メモ

これらの画像をデスクトップの背景に設定することも考えたけど、面白みがないのでそれはやめた。

ATtiny2313 ピン配置

f:id:oasynnoum:20131022050718p:plain

AVRISP mkII ピン配置

f:id:oasynnoum:20131022050818p:plain

わしがブラウザの JavaScript をOFFにするわけ

ブラウザの JavaScript はPCもタブレットも両方切ってます。
なぜわざわざ JavaScipt をOFFにするかって言うと、俺が得しない方向に計算資源使われるのが嫌なのです。

JavaScript がWEBサイトでどういう風に使われてるかってことなんだけど、自らの実用の範囲では一生懸命広告を見せるためとかトラッキングするためとか(別に広告見せられる事自体はなんとも思わない)パララクスなどの華美な装飾のためとかそういう使われ方しかしていない。実際には裏でいろいろな処理が走っているのかもしれないけど。

しかし、 YouTube のような JavaScript の動作を前提にしたサイト・WEBアプリケーションもあって、そういったサービスを利用するのであれば「 JavaScript の動作を認める例外」に放り込めばいいです。

なので JavaScript は切っても問題ないです。

モバイルでよくブラウジングする人なんかは JavaScript 切ったら電池の持ち良くなったりとかするんですかね?
今更書くことでもないんだろうけど、 Twitter でなんかそういうツイートが流れてきたので。

ようやく AVR

秋月で買って放ったらかしだった AVR をようやく開封。

f:id:oasynnoum:20131006231332j:plain

ATtiny2313

f:id:oasynnoum:20131006231345j:plain

ATmega88V

いわゆるLチカまでやりたかったんですが、AVRライターとマイコンの接続ってどうすりゃいいんだよってので格闘してました。
入門書二冊持っているんだけど、どちらもその辺りはさらっと回路図載せて終わり。
そうですね。回路図読めないドシロートが手を出しちゃいけないってことなんですね。
WEBに散らばる先人のログと入門書の回路図を見比べながらどうにか接続。

f:id:oasynnoum:20131006235354j:plain

ATtiny2313 と AVRISP mkII を接続した様子

f:id:oasynnoum:20131006230105j:plain

ちゃんと認識されました

f:id:oasynnoum:20131006231452j:plain

入門書二冊。
AVRマイコンプログラミング入門はATmega88を例に、
試しながら学ぶAVR入門はATtiny2313を例にあげています。

しかし、どうやっても ATmega88V が認識されないので、こちらはしばらく放置かな。
Lチカ自体はこの状態まで持って来ればコードをコピペしてライターで書き込めばすぐできるんだろうけど、
ピンの機能やコードの意味を調べながらじっくりやりたかったのでおあずけ。

あるぺちぱーの最期

昨日、某PHP拡張の作者に、5.5対応してくれってんでパッチ送ったんですわ。ええ、恥ずかしながら人生初パッチですわ。
それがね、一時間もしないうちに「その変更は既に行われていて、すぐに公式にリリースする」って、ご丁寧にgithubのURLまで添えて返信返ってきたんですわ。
顔真っ赤にしながら、change log

 
憤死した情弱の手記はここで途切れていた。

 
 
 
 

モスバーガーの電話注文

モスの電話注文の至れり尽くせりっぷりがやばい。 右側の白い紙袋には電話代の足しにと10円玉がはいってるという。

モスの電話注文が便利ということに気づいて最近よく利用しています。
店舗入ってからの注文だと確実に10分は待たされるし、店内で食べることもまず無いので。

モスの帰り、もう何年も行ってない床屋の主人と出くわした。
「お前白いけど大丈夫か?」といわれ、「ひきこもりだから白いんです。」というハートフルな会話が生まれた。

わしゃ会社が作りたいんじゃ

会社が作りたいんじゃ

俺が好きなモノを作る会社。
仲間と一緒にやりたい事をする会社。
めっちゃ儲けたりとかはないが、食える程度の給料。

アイディアはあるが勉強は面倒臭い。
けど勉強しないとしょうがない。時間かけ過ぎたらあっという間に誰かが実装するだろう。

このエントリは俺のやる気が萎えた時に振り返る用。
こんなエントリ出して、数年後結局何も実らなかったとかダサい展開もありえるわけだけど、別にいいと思う。
いや、よくはないか。
でも素直に欲望書き連ねること自体はいいと思う。こんなこと誰もが一度は考えることだろうし。
となんとなく正当化してみる。