テスト用マシンを久々に立ち上げたらアドレスが変わっていた。DHCPで受けているからなのだが、sshログインするのに固定じゃないのは問題、すぐに直そう。しかし、モニタもキーボードもはずしてしまっているのでコンソールから確認することは出来ない。

とりあえず、DHCPでリリースしている範囲内をしらべる。
DHCPでリリースしている範囲内が 172.16.0.20 ~ 172.16.0.40 なのでその範囲内で調べる。

zshの場合は、こんな感じのワンライナーで書くことができる。さすがzsh

$ (for i in {20..40};ping -c1 172.16.0.$i); arp -a

pingを打ち終わると、下記のように生きているマシンが列挙される。

air.setup (172.16.0.1) at 0:d:b:xx:xx:xx on en1 [ethernet]
? (172.16.0.24) at 0:16:cf:61:xx:xx on en1 [ethernet]
? (172.16.0.25) at 0:d:b:33:xx:xx on en1 [ethernet]
? (172.16.0.26) at 0:d:b:33:xx:xx on en1 [ethernet]
? (172.16.0.31) at cc:8:e0:47:xx:xx on en1 [ethernet]



7月上旬に携帯こわれて、iphone4の発売時期だから迷ったけど、予約やらなんやらでいつ実物を手に入れられるかわからないので、とりあえず中古の3Gを手に入れた。

とりあえず、手に入れてすぐに連休があったのでJBしてみた。JBしていじった物は、utility系のものがメインあとは、アイコンなどのデザイン変更。

bluetoothヘッドフォンを使っているので、素早くblutoothのon/offの切り替えがしたいときなど、SBsettingsがあれば、どの画面からも設定ウインドウを呼び出せる。wifiのon/offなどその他、8種類の設定のon/offが可能なところはかなりよかった。

下が入れてみたアプリの中の一部

WinterBord
アイコンなどスタイルの変更

SBsettings
これはかなり便利です。BluetoothなどON/OFFがどの画面からでも一発で出来る。

Lockinfo
ロック画面にいろいろなアプリのメッセージが表示され、応答もそこから出来る。一元管理出来て重宝します。

Backgrounder
iphone3Gでは、iOS4にしてもマルチタスクが有効にならない。設定をしているXMLファイルに項目を追加すればつかえるようになるのだが、それも標準でマルチタスクに対応しているappleが提供しているアプリなど数が限られる。このアプリはその他、標準でマルチタスクに対応していないものでも使えるようにしてくれる。


それで初めは、iphoneのよさにやられていたんだけど、段々と悪い所が見えてきた。
やはり、初期モデルの3Gと言うことで、メモリが128MBと少ない。ちなみにiphone4は512MB入っている。
メモリが少ないため、アプリを立ち上げるとすぐにfreeな領域が底をつく。特にマルチタスクを有効にしていたので、他にも増して元から少ないメモリがどんどんと減っていく。
元々、3Gの場合何もアプリを立ち上げていない状態で40MBちょっとくらいしかフリーの領域がないのに、一つアプリを立ち上げると、メモリを食うアプリだと10MB~15MB位減っていく、軽いアプリでも5MBとかは減るので、自分がよくやっている、ipodアプリで音楽聴きながらsafariでwebページみて、SMSが入ってきたら、そっちを立ち上げてみてみたり、電話かけるのに電話のアプリ立ち上げて~、なんてことしてるとすぐにメモリ使い切ってしまう。
確かに、メモリがない状態でアプリたちあげると、他の今使っていないアプリの占有してるメモリの領域を開放してそちらに当てるようになっているらしいんだけど、それがうまく行っていない感じがする。

一番痛かったのが、いつものように何個かアプリが裏で立ち上がっている状態で電話しようとして、電話アプリを立ち上げようとアイコンをタップしたら、よくアル真っ白画面でずっと待機状態。それで20~30秒位したらホーム画面に戻る。そんなことを2、3回繰り替えして、必要な電話かけるまで4、5分もかかってしまって、これじゃ電話の役目果たさないじゃんかよ~って。電車の乗り換えのときにさっと電話しときたいときとかあるし。

まあ、そんなこともあって3Gを使い始めて早2ヶ月、遅さに耐えられずにiphone4に買い替え。

さすがのiphone4。早いし動きもきびきび、アプリが落ちることはたまにはありますが、3Gに比べたらかなりマシです。うわさのface timeはまだ試していないけど。3Gとの違いといえば前出のface time、動画録画が可能、フラッシュ付きカメラ、目立った所だとそんな感じでは無いだろうか。しかし、操作性の向上が一番だとは思う。3GSでかなりよくなっていたらしいので、3GSとiphone4のスピードアップは30%位とのことなので、3GSユーザーはそれほど違いは感じないのかも知れない。

やはり、メモリの消費量だが、初期状態で3Gが40数MBだったフリー領域がiphone4だと250MBくらいある。10個ほどアプリを立ち上げても170MBくらいは余っている。この位だとかなり、余裕があるので安心してつかえる。

ところで、手にしたiphone4ですが、iOS4.0.2でした。脱獄に関して調べて見たところ、初めからiOS4.0.2が入った状態でシッピングされているiphone4では現在のところ脱獄する手段は無いようです。
また、iOS4.0.2に関してはこれから先もこのバージョンで脱獄出来るツールが作られることは無いとのことだった。

iphone dev-teamのブログのpostにも下記のような部分で明言されている。

people will begin to ask: will there be a jailbreak for devices that shipped with 4.0.2/3.2.2, out of the box?

No, there won’t be.


すでに、4.1のiOSのバグが見つかっており、そこからJBすることがテストでは可能になっているみたいなので、正式リリースまで待つしかない。リリースはappleが4.2を正式リリースしたあとになるようだ。
なんだかんだで使うので動かないと困る。

ちょっとデスクトップ画面がみたいときなどボタン一発で全画面が端にワイプしてくれるので結構な頻度で使うのだが、初めて動かなくなった。F11、F10、F9どれもだめ。
いつも、ハイバネートばかりでちゃんとOS終了させてないので、きちんと終了させれば直るだろうと言うことで終了させて、後日、立ち上げてつかってると、なんか動いてない模様。

調べてみると、Dockを再起動させればいいとのこと。

shellから

$ ps aux G Dock

user001 145 0.0 0.4 2826144 8368 ?? S 木05PM 0:44.41 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock

$ sudo kill -HUP 145

とりあえずこれで動くようになりました。

GUI画面からの場合は、アプリケーション -> ユーティリティ -> アクティビティモニタを起動
モニタ画面からDockアプリを選んでプロセス終了。


結構使ってるんだけど、今回初めてなった。はじめはマウスのソフト入れたからそれでかなと
アプリケーションボタンとかでExpose動作を制御できるようになっているので、それで干渉したのかと思ったが、どうもそうではないらしい。10.6のバグのよう。
それでは昨日のつづきおば

その前に、ちょっと他のGoの記事みていたら下記の記事が

http://www.itmedia.co.jp/news/articles/0911/11/news041.html

をみてみて、なっとく
「Plan 9」の創案者であるロブ・パイク氏、UNIXの開発に携わったケン・トンプソン氏、などが名を連ねる。

そういうことね。

それでは行ってみたいと思います。

ちなみにマシンは
PBG4 PPC1.33
os 10.4.11 tiger
gcc 4.0.0

しかし、これがあとで仇となります。

昨日の取り合えず作ったディレクトリで

svn checkout svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo

ここまでやってたんで

cd gccgo

./configure --enable-languages=c,c++,go

ここで
GCC requires GMP 4.2+ and MPFR 2.3.2+.

このgccgoでは、GMPってのとMPFRってのが必要なのね。

必要とあれば落としてきましょう、messageにあったサイトから

wget -O- ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.2.4.tar.bz2 | tar jxvf -

ここまでして、まてよMacPortsから持ってきた方があとあとよさげなんじゃないかと。

port search gmp

ありましたgmp-4.3.1

一応、configureオプションを確認

port variants gmp

powerpc,universalの二つだけ、さらにselected automaticallyとのことなのでとくに設定の必要なしっぽいのでインストール

sudo port install gmp

つづいてMPFR、こちらも一応確認

port variants mpfr

特段ないようなのでつづいて

sudo port install mpfr

そして再度、

./configure --enable-languages=c,c++,go --with-gmp=/opt/local --with-mpfr=/opt/local

取り合えず、configureは通りました。次に

make

マシンが頑張ってくれてます。いい感じで進んで行ってるのでいけるかなと思いきや。

ld64 エラー "mac_ほにゃらら_min"ってオプションが見つかりません見たいなメッセージが、テストしたマシンを置いてきてしまたったのでうる覚えですが。10.4ではダメみたいです。

一応、
% type id
ld is /usr/bin/ld

% ld -mac_ほにゃらら_min
ld: unknown option: -mac_ほにゃらら_min

こんなかんじになってたのでダメみたいでした。
自分はLLユーザなんで、もう1階層したのCやC++などのマシンに近い言語に精通していないこともあり
やり方あるのかも知れませんが、Tigerではgccgoは動かせないのかもしれません。

gcc4.2.4とかはTigerではだめ見たいなことも書いてあったのでgccgoも同じかもしれません。

LeopardとかSnowとかでやっとけってことですかね。明日、豹で試してみようかと思います。

そうと思ったら、こちらのサイトにやり方が載っていました。

http://d.hatena.ne.jp/fu7mu4/20090510/1241963915

同じ、エラーでした。unknown flag: -macosx_version_min

これだったので、この方法でうまく行くのかもしれません。明日試してみようと思います。
今日、会社から帰路にて知り合いから電話が、前に転職していった同僚の先輩だったので
のみに行こうとの誘いかと思いきや、
先輩「あのさあ、Dojoってしってる?」
自分 「知りません。なんですかそれ?」
先輩 「Javascriptのライブラリなんだけど」

その先輩はWeb系はあまり詳しくないので聞いてきたんだろうけど自分もJavascriptは
それほど詳しくない。

で、ちょっと教えてほしいことがあるとのことで、とりあえず、メールしといてください。と伝え電話を切る。

帰宅後、ちょっと調べてみるため、検索してあるサイトへ、するとそのサイトの横のNews部分に
"googleあたらしい言語発表"みたいな記事があった。名前は「Go」特徴として並行化、ガベージコレクションなどを備えた高速コンパイラ言語とのこと。

ちょいとみてみるかとそっちのけでGoogle Goのサイトへ

とりあえず、概要をみてみる。そして、Source Codeってメニューがあったんでいってみる。
中を見てみると、なぜか「Plan9」って言葉が所々に。

Plan9と言えばgaucheでrubyのpdumpfsをgdumpfsとして写経していた方がいてそのときに、pdumpfsも
plan9のバックアップシステムdumpfsをまねて作ってみました的なことがかいてあってplan9を知った。

plan9についてはこのあたりを
http://plan9.aichi-u.ac.jp/

そんでなんでplan9?っておもってplan9っていやあunixのネクストジェネレーション的方向性で始まったけど、現在は低迷中?というかかなりスローだけど動いているProjectと思っていたが。


とりあえず、ためしてみるかってんで
http://golang.org/doc/install.html

ここいらを参考に行ってみる

コンパイラは2種類
Gccgo gccをバックエンドにつかっているもの
6g(64-bit x86),8g(32-bit x86)

ここはなじみのあるgccでってことでここを参考に
http://golang.org/doc/gccgo_install.html


とりあえず、どっかにテンポラリのディレクトリ作って
svnでチェックアウト

svn checkout svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo

かなり時間かかります。

とりあえず、頼まれてたものやらんと。。。

以降はあしたのお楽しみにとっておきます。