kumama go言語とかgolangとかGAEとかネットサービスとかその他色々・・・

13Apr/10Off

自分は…

UIE創始者の中島さんのBlogより iPad購入ガイド:購入するかしないか悩んでいる人のために から抜粋。

時代の進歩を傍観するんじゃなくて、イノベーションを起こす側に立ちたい

をを、かっこいいって思った。

で、今の自分はどうだろうなぁと考えてみて。時代の進歩に触れて居たいとか単に新しい物好きとかそいういうのか…と、ちょっと凹んだりもしたけど。もう少し冷静に考えてみると実際問題出来る出来ないはともかくとして進歩したプラットフォーム上で何かを作るのではなく、進歩に力を貸したい。と思ってるのかも知れないことに気が付いた。

AppEngine上でアプリ作るのも良いけど、どちらかといえばAppScaleよろしく使ってクラウド自体を作りたいし、AndroidもDalvik上でAndroidアプリ作るよりもAndroid本体側(Linuxカーネル含め)を触っていたい。なんかこう与えられたプラットフォーム上で何か作るのではなく与える側、プラットフォームそのものを作ったり広めたりする一員になりたいというか。

iPhoneはJailbreakしか無かった頃にtry-and-errorでアプリ作るのが楽しかったし。Skypeも標準で用意されていない機能を拡張するのが楽しかった。技術で動かないものを動かす、繋がらない物を繋ぐ、不可能を可能にする、そしてそれが誰かの役に立つという事をやって行きたいんだと思う。

そしてそんな自分ですがリアルには多分そこそこのユーザ系企業に勤めてて俗に言う既得権を得てる方。入力の項目のこの値がこうだから結果がおかしいとか、夜間バッチが遅延して…とか。このスイッチのポートが空いてるからconfig入れて接続…とか。最近新しいことが有るか…と言われると法規制対応とか?(笑)AppEngineのアーキテクチャとか知ってるとVMWare vCenterでプライベートクラウドとか言ってるのが恥ずかしいし。

世の中、技術的な勉強会と起業関連のセミナーは多いけどその中間があんまりない。どっちかに重点を置いた集まりが多いのがちょっと悲しい。勉強会とか言ってもWebで公開されてる情報が多いし、ゆくゆくは独立起業したり転職するにしても、安住の企業で働きつつ副業とか趣味で出来る範囲でそういうところに入っていく方法は無いものか。

自分に足りないのは繋がりと人を褒める技術、後英語。一歩ずつでも足りないところを補っていかなければ。Blog書いてれば誰かが拾ってくれるなんて思ってない。自分からのアプローチが重要。

と、何の話か解からなくなった(笑)

中島さんのBlogで著作権フリーの文書のiPad用PDF化を呼びかけてらっしゃるので興味の有る方は是非ご協力を!

Filed under: etc Comments Off
7Apr/10Off

Jolicloud on vaio p インスタントモード入替

ガジェット系の話は別 Blog でやろうと思ってたけどあまりにもこっちの Blog の更新ねたが無いので。

とりあえずこれを。

使ったのは jolicloud の PreFinal。 GMA500 というか poulsbo のドライバは標準で入ってるものの微妙にエラーで X が vesa でしか起動しないので ubuntu 9.10(Karmic) 用のスクリプトでpsb関連を再導入。

HardwareSupportComponentsVideoCardsPoulsbo - Ubuntu Wiki

導入前は非常に遅い。使えない。アイコンのエフェクトとか駄目駄目。画面狭いといい事なしですがドライバ導入でいい感じに。アプリ起動時にアイコンがクルって回るのが可愛くてお気に入り。Firefox, chrome が普通に使えるしインストール後のサイズが2G程度、日本語入力も簡単に設定できる。

Ubuntu notebook rimix とか moblin とか chromeos とか android も色々試したんだけど今ひとつ気に入らず。jolicloud は気に入っています。XMB捨ててでも入れ替える価値あり。

XMBボタンで起動出来るインスタントモードは巷で言われているように kernel.pam と initrd.pam で kernel と initrd が指定されてます。って事でそれを書き換えればOK…。とは行かないのが悩みの種。

インスタントモードの構成ファイル中、 rootfs とか menu が ext2 でマウントできるのに対し initrd だけはフォーマット不明。 tar とか gzip とか bzip2 とか cpio とか lzma とか lzo とか cramfs とか色々試したけど不明。 kernel.pam って corel の Instant on の機能のように言われてるけど本家Instant on自体は grub2 使ってるみたいでこの kernel.pam を利用するブートローダーは EFI の InsydeH2O の機能の様な気がします。

それはさておき windows パーティションに rootfs のファイルを置いて loop マウントしたかったのでどうしても initrd が必要…でも上の通り inited のフォーマットがわからず、試しにcpio+gzなinitrdを置いても読んでくれない。Instantモードでxterm起動して見てみると device ram0 で minixfs なので initrdなのは間違いないんだけど…。

って事で逃げ手で、Linux の 2.6 から使える initramfs を使って kernel に initrd を抱き合わせました。昔ってinitrd.gzを単純に連結したらOKだった気がするんだけどARMだったかな。うろ覚え。initramfs は kernel を再構築する必要が有ります。

kernel再構築時、.configのCONFIG_INITRAMFS_SOURCEにinitrdのディレクトリを指定するだけ。インストールした jolicluod から /initrd.gz を持ってきて展開。後、loopbackマウント用にchroot周りシェル書かないと駄目かもと思ってたんだけどjolicloudの(ubuntuの)/initが優秀でオプションだけでいけました。bzImageサイズが10M超で駄目かとも思ってたけどこれも無事読み込んでるみたいで危惧に終わりました。駄目だったらkernel.pamからgrub起動して(realmodeに戻る必要が有るけど)そこからkernel起動かとかも思ってたもののそこまでせずに済んで一安心。

起動時間短縮のために不要kmod削除しようかと思ったもののまぁ我慢できるレベルって事で。今後の改善点。

ここ一年弱Pがメインマシンです。AndroidとかLinuxとかビルドしたり画像系の作業する時は流石にデスクトップでやってますがpythonのGAEぐらいならPで十分。

18Mar/10Off

websockets を proxy 環境でも利用する場合の注意点

ええとコメント頂いたのでまじめに書くことにします。
(ちょっとアングラな世界でドライバ作ってました)

現在のwebsocketsのクライアント側の実装でproxy越えをしようとする場合、サーバ側で特殊な考慮をしておかないと繋がらない環境が多いと思います。

ちょっとややこしいので順を追って説明します。

・クライアント側の実装でproxy越えする際にはProxyに対し CONNECT を発行する
・proxyでCONNECTできるのは接続先ポートがhttps(443)に制限されている場合が多い
(squidはデフォルト。443以外のSSLポートをSquidでプロキシするには辺り参考)
・一方、サーバ側はというとhttps使ってるならhttpsの場合が多い。
・websocketsで443に繋いだとしてもSSLのハンドシェークは行われない

以上から、proxy経由でのwebsocketsをなるべく利用可能にするならrawな(SSLでない)websocketsの口をポート443であけて置く必要があります。このblogに張ったwebsockets chatはこの対応をやってます。(httpsは潰してますw)

ま、現状の実装(websockets, proxy)での話しなのでこの先は分かりませんが…。

Filed under: golang Continue reading
13Mar/10Off

sqlite断念

このBlog、pdo-sqliteで運用してたんですがwordpress 2.9系に成ってからかなり不安定な感じなのを修正しつつだましだまし使ってきましたが耐えきれずmysqlに再逆移行しました。

所々、文字化け等有るかもorz

Filed under: etc Comments Off
9Mar/10Off

golangリリースニュース(w

2010-03-04のリリースで言語仕様に変更が有った模様。
http://go.googlecode.com/hg/doc/devel/release.html

strings.Bytes(x) -> []byte(x)
strings.Runes(x) -> []int(x)

って、結構当たり大きいような。

Filed under: golang Continue reading