火曜日, 11月 03, 2009
宿業のコアラ
いつもは新規に入れ直しているんだけど、今回はアップグレードしてみた。もしかしたら後でクリーンインストールするかも。
さて、今回のコアラは、クラウド環境であるEucalyptusが目玉機能と呼ばれている様子。
とはいえ使っているのはデスクトップ版なので、実はあまりピンと来ない。クラウド環境に興味はあるんだけど。そのため個人的には、テーマが大きく変わったのが目玉というか、印象的な変更点。
ネット回りが若干不安定な気もするけど、概ね問題無し。
Andorid環境がリリースされるという話もあったけど、今の所は無い様子。launchpadにはあるけど。
typeZユーザとしては、画面の輝度変更が小細工無しで出来るようになったのがありがたいところ。
角ウサギの頃から不調だったSugar環境については、コアラでも不調のまま。根が深い問題らしいので、おとなしくFedoraを使うことを考えるべきかなあ。
typeZのディスクは余っているので、後一つぐらいOSが増えても問題ないけど、出来れば専用マシンが欲しい。Mac miniをFedoraマシンに出来たら良いのだけど。
土曜日, 1月 17, 2009
今は買えないXO
予約してたら買えたのかな?
日本でも買えるNetbookにSugarを入れられたら、ハードウェアとしてのXOにこだわる必要は無くなるのだけど、XO以外にSugar環境を入れるのはいろいろ大変そう。
Sugar-stick(ubuntuベース)で試してみたけど、typeZではネットワークが動いてくれない。
日曜日, 1月 11, 2009
OLPC体制変化
Sugarの開発はコミュニティベースに移行なので、開発速度の低下は否めないかと。
ただ、メーリングリストでは今のところ混乱は無いようで、「XO Camp楽しいよね」という話題がほとんどです。
Sugarを作っているのでなく、Sugarで遊んでいる私も残念という気持ちはあるけど、潰れなくて良かったという気持ちの方が大きいかも。
コミュニティベースに移行することで、XO以外のハードでもきちんと動くようになる方向に進むといいなあ。
自分でも何か貢献はしたい。Sugarで遊ぶことが何らかの貢献につながりますように。
金曜日, 12月 26, 2008
PyCon2008 OLPC Tutorial 超要約 その4
未来の自分と、これからこのTutorialをやろうとする人のための参考として。
注意点
reStructuredTextでまとめたものをHTMLに変換したので、変なHTMLソースになってます。
また実際には、複数日かけてやってるので、口調や編集の仕方が変化している上に、最後の方は結構適当です。
ではスタート。
Auto-generate a Skeletal Wrapper (Step 002)
Sugarアクティビティには、作るのがちょっとだけ苦痛な"boilerplateコード"が結構あります。さっき(その3で)落としたOLPCGamesには、新しいActvityの構成を作ってくれる、スケルトン生成スクリプトが入っています。
使い方はこんな感じです。実行してみてね。
cd OLPCGames-1.6/skeleton/
./buildskel.py -n HelloPygame -t "Hello Pygame" -s org.laptop.community.HelloPygame
buildskel.pyのオプション:
-n NAME, --name=NAME
分かりやすく簡潔な名前 (ファイル名に使われる)
-t TITLE, --title=TITLE
分かりやすく、人間が読むための名前
(ウィンドウやアイコンのタイトルに使われる)
-m MAINLOOP, --mainloop=MAINLOOP
メインモジュールと関数名。package.module 見たいな感じで。
-s SERVICE, --service=SERVICE
DBUSのサービス名。提供されないなら接頭辞の名前(?)
今回使わないのは、-mだけ。今回はデフォルトである、run.pyのmain関数を使います。
それと、-sはD-BUSで使われるので一意になるように名前付けをしてね。
- boilerplateコード
- 面倒で苦痛で決まりきった書き方の繰り返しみたいな意味。
特に関数化やモジュール化も出来ないものを言う気がする。
Sugar-Activityの場合、フォルダ構造とかMANIFESTファイルとかがそれにあたる。
新しいActivityの登録
ActivityをSugarで使うには登録しないと駄目です。じゃないとSugarのランチャーに出てきません。
まず、sugar-shellを起動します。sugar-jhbuildの場合は"sugar-jhbuild shell"をbuntuのパッケージでSugarを入れてるならsugar-shellコマンドを実行します。
次に、あなたがOLPCGames-1.*/skeletonディレクトリにいるとして次の順に実行します。
(注:HelloPygame.activityディレクトリはさっきbuildskel.pyで作られているはずです)
cd HelloPygame.activity
python setup.py dev
そして、今後楽をするため、シンボリックリンクを張ります。
cd ../../../
ln -s OLPCGames-1.*/skeleton/HelloPygame.activity .
そしてsugar-emulatorを実行してHelloPygameっていうActivityが登録されていたらOKです。
うまく行かなかったらlogを見てね。
ラッパーを見てみよう
好きなIDEで自動生成されたファイルを見てください。
OLPCGamesはGTK Socket (X-Embed) プロトコルを通して、GTKアプリケーションのウィンドウの中にPygame(SDL)を埋め込むための、薄いラッパーです。
これからどんどんカスタマイズしていきます。
さて、何が作られたでしょうか。
メタデータ
HelloPygame.activityディレクトリの下のactivityディレクトリにあるもの
- activity.info
- 何を動かすかとか、アイコンデータの指定とか
http://wiki.laptop.org/go/Activity_Bundles#.info_File_Format - activity.svg
- アイコンデータ
http://wiki.laptop.org/go/Sugar_Icon_Format
GTK Wrapper(activity.py)
概要
- クラス定義
- PygameActivityを継承
- GTKイベントの割り込みや生成
- Sugar用ツールバーの追加
- Pygameウィンドウのサイズの宣言
- 名前、タイトルの宣言
- メインループ関数の宣言
- 別のPygameスレッドを作ること
Pygameメインループ詳細
- import
- pygame : 描画、メインループ、そしてそれら素晴らしいモノ全て
- olpcgames.pausescreen : sleep状態に素早く移行するためのイベントを発生させる
- logging : 標準モジュールのログです。使い方を知っている必要があります
- olpcgames : イベントの定数にアクセスするために
- loggingセットアップ
- main関数
- 画面の準備をする
- フレームの限界値を設定(25か50がいい)
- ダブルバッファリング
- イベント開始
- 非アクティブ時は画面描画を止める
- そうでないならイベントを発生させる
サポートメカニズム
setup.py
パッケージング用のスクリプト。stuptoolsではないので注意。
MANIFEST.in, POTFILES.in
setup.pyに食べさせる。
step003
Activityを走らせることは出来たけど、微妙な状態ですね。
というわけで、"Hello World"的なものを加えてみます。
これにはOLPCGamesのTextClassを使う。これはPangoテキストレンダリングエンジンのラッパーです。
Pygameのスプライトクラスは、多くのラスタ画像を表示するのに非常に効率的なメカニズムになってます。
Pygameの大概のことは、スプライト関連のクラスを使うとうまくいきます。
「Hello world」がスプライトエンジンを激しく使わない内に、関連操作に慣れるために使っていきます。
- Sprite と Sprite-Groups
- Sprites: imageと長方形の枠(Rect)
- Rects in Pygame
- Group タイプとなぜRenderUpdates()するか
- Group 追加/除去 操作
- Sprites: imageと長方形の枠(Rect)
- TextSpriteを使ったテキストレンダリング
- PangoFont クラス
- Fontの仕様
- Fontレンダリング結果、画像とRect
- 文字列の翻訳のためにgettextをつかえ
- layout関数とRect
- Rectの仮想プロパティとそれらへの課題
日曜日, 12月 21, 2008
Sugarでアニメーション
見栄えがGtkと離れるから気持ち悪いけど、Gtkと組み合わせるのは将来の課題にしよう。
次に知りたい情報は次の2つ
・XO(Sugar?)のストレージの扱い方
・カメラの使い方
ストレージの方はPyCon2008のOLPC Tutorial資料にあるみたい。このチュートリアルは夏ぐらいに序盤だけをやって、放置していたので、今年中に全部やってみよう。
金曜日, 12月 12, 2008
275ポンドで買えるもの
137.5ポンドだと18,500円くらいですね。
DSiは18,900円なので、まあだいたい同じくらいですかね。
なんとですね、DSiと同じ値段でパソコンを買えるらしいのですよ。茄子さん。
ただ、セット販売で2台ずつしか買えないんですよ。
でも4万円せずに、2台も買えるってすごいよね。輸送費を考えても十分安いよね。
2台もいらないから、1台は寄付してもいいよね。
火曜日, 11月 18, 2008
日本からG1G1
円高だし、何より世界の子供たちのために参加しなくてはですね。
2台目が欲しいとかじゃないですから。子供たちのためですから。
土曜日, 9月 06, 2008
AmazonでOLPCが買えるかも
One Laptop Per Child @ Amazon
G1G1みたいに北米限定というオチがなければいいんですが。
後でメーリスもチェックしてみよう。
水曜日, 5月 21, 2008
XO後継機発表
両面マルチタッチディスプレイで、キーボードもそれを使ったソフトウェアキーボード、なのにお値段75ドルという激安さ。100ドルも達成してないのに大丈夫かしら?
まあ、目標は高い方がいいし、目標を掲げることでほかのメーカーから同様のマシンが出る可能性もあるし、v本題である教育が忘れられない限り、悪いことではないんじゃないかな。
あと、現行機種のコストダウンとかG1G1再びとかもあるそうな。
金曜日, 5月 16, 2008
XP ON XO
途上国側からの要望らしいけど、まあ仕方ないかなあ。
カスタムLinuxとカスタムWindowsじゃ、仕事で使うという面での信頼性に圧倒的差があるのは事実だし。
MSも専用ドライバを用意してかなりの本気具合だし、ネグポンも了承せざるを得なかったんでしょうな。
プレスリリースにもある通り開発者も確かに増えるだろうし、コミュニティも活性化するし。
ただ、OLPCを知的労働の植民地としての道を広げるものにしないためにも、本筋である教育はSugarでやって欲しいなあ。Sugarの方が有象無象が出てきて面白そうな予感はあるし。
ところで、このXO版XPは一般販売はされるのかなあ、Sugar派だけど動かしてみたい。
面倒なのでちゃんと読んでないけど、SugarのMLでもこの話題でヒートアップしている模様。
日曜日, 5月 04, 2008
PyCon2008 OLPC Tutorial Step000
とりあえずスクリプトの001を実行すると、チュートリアル全体で使うスケルトンスクリプトがダウンロードされてきた。
中身は後で確認するとして、002を実行。なんかエラーになったんですが。
スクリプトに間違いがあったのかな?それとも環境依存の問題?
とりあえず文書を読む限り、buildskel.pyという起動スクリプトのオプションをここで説明したいようだ。
さて、次はActivityをデプロイするらしい。
チュートリアルに従い、cdしてデプロイ。そしてActivitiyディレクトリのシンボリックリンクを作るらしい。
なぜ?
で、ここで間違いに気づく。
どうやら今読んでいるのは、002スクリプトが何をやったかの説明であって、自分でやる必要はないらしい。
つまり002はデプロイして、Activitiyディレクトリのシンボリックリンクを~/Activities以下に作るまでが仕事だったらしい。
というか、スクリプトの内容を把握せずに実行するというなかなか怖いことをやってたわけですね。
何か問題があったらwikiに載ってないはずだけど、ちょっと迂闊だった。
気を取り直して、デプロイされたActivitiesをsugarエミュで動かしてみる。青い画面が出るだけ。
どうやらこれでいいらしい。
その後、ぐだぐだ書いてあるのはActivityの基礎みたいな内容みたい。適当に流し読み。だいたいは他のチュートリアルにも載ってる情報。pygameまわりの話がちょっとあるが、内容を掴めず。
さて003を実行。その前に中身を簡単に確認。Pythonコードの置き換えと、002までのコードとのdiffが目的のようだ。大丈夫そうなので、実行。そしてエミュで確認。
今度は青背景に白文字が出てきた。文書によるとpygameのスプライト機能で書いたらしい。
003スクリプトで作られたdiff結果を読んでみると、たしかに何行か増えている。
というわけで0番台のスクリプトは概要の説明が目的のようだ。
次くらいから、具体的なコードの説明に入るのかな?
Ubuntu Hardy Heron on 牛丼
大体3時間程度で終了するも、音が出ない、キーボードの認識がおかしいと散々な状態に。
一番困ったのが、Sugarエミュレータの表示がおかしくなってしまい、リングメニューがちゃんと表示されないこと。一応動くことは動くけど、原因追求もめんどくさい。
調べてみるとアップデートマネージャ経由でバージョンアップさせた人の問題報告が目立ち、クリーンインストール組の問題報告は見当たらない。
個々の問題の解決策はあるようだけど、いちいちやってられないのでクリーンインストールすることに。
幸い、メイン環境ではないのでバックアップする量は少なめ。
で、ちょっと前にbittorrent経由で取得済みのCDを入れてLiveCD起動。
この時点で音が鳴ることを確認。やはりクリーンインストールが正解のよう。
インストール時間は正味30分ほど?途中アニメを見たりして、ダイアログを放置してたので正確な時間は分からず。
とりあえず必要なソフト類を適当に入れて、Sugar環境を作ろうとOLPC wikiを見てみると、Hardy HaronのリポジトリにはSugar関連のものが入っているらしい。これまでは公式とは別のリポジトリを登録する必要があったけど、どうやら格上げされたようだ。
将来、sugar-jhbuildを使うこともあるかもしれないけど、面倒なのでSynaptic経由でインストールする。
で、エミュレータは無事起動。
その他、プリンタも認識して、特に問題無し。
本格的にMacからUbuntuへの乗り換えを考えているけど、バージョンアップの度にクリーンインストールってのはどうなんだろう?まあMacも上書きバージョンアップはトラブルの元と言われてるから、たいした問題でもないのかな?
火曜日, 4月 15, 2008
PyCon2008 OLPC Tutorial 超要約 その3
チュートリアルソースコードと構造
チュートリアルソースコードの入手法
1.bzrを使う方法branch http://www.vrplumber.com/bzr/pycon2008
2.tar.gzを使う
http://www.vrplumber.com/olpc/pycon2008.tar.gz
どちらの方法を使うにしろ、pycon2008ディレクトリってのが出来るはずです。
(注意 suやsudoでやるのは失敗の元です)
チュートリアルの進め方
pycon2008の中のshスクリプトを以下の手順で動かす- 001-olpcgames-setup.sh
- 実施したい番号のshスクリプト
例)200番台のチュートリアルをしたい場合以下の順でshスクリプトを動かす。
001 - 201 - 202 - 203...
これまでやったチュートリアルをリセットするには999スクリプトを実行する。
(チュートリアルコードに加えた変更が全部消えるので注意)
チュートリアルを進めていく過程で、ソースコードのdiffをよく取る様になります。diff結果を読む事はより深い理解を得られます。
PyCon2008 OLPC Tutorial 超要約 その2
システムセットアップ
詳細は別の文書を参照のことhttp://wiki.laptop.org/go/Developers/Setup
この文書では簡単に紹介します。
Ubuntu
- Janiさんが提供しているパッケージを利用する。
- Ubuntuのインストールに2時間、Sugarのインストールに3-4分かかります。
- http://wiki.laptop.org/go/Ubuntu#Option_3_-_Deb_Packages_for_Gutsy
Gentoo/Ubuntu/Fedora
- sugar-jhbuildを使用出来ます。
- Fedoraへのサポートが一番充実していて、次点がUbuntu、Gentooは動くけど、いろいろいじる必要があります。
- 順調に行けばダウンロードとビルドに3時間ほどかかります。が、順調にいかなければ解決の為にさらに時間がかかります。
- 結構苦労するので、これらのディストリビューションに慣れていなかったり、苦労するのが嫌なら止めておいた方が良いです。
OLPC-XO
- Developアクティビティをインストールすると良いです。
- viとnanoが標準で入っています。
Windows/MacOSX
- エミュレータイメージを利用出来ます。(QemuかVMWare)
- ただし、サウンドはサポートされないし、ネットワーク機能に制限がかかります。
- Linuxでも構わないなら、Ubuntuでデュアルブートするか、Ubuntuマシンを用意するのが合理的です
雑感
sugar-jhbuildはFedoraが一番サポートされているらしいですが、Ubuntuに慣れている人はUbuntuでやるのが良いです。Gentooも同様。何かあったときトラブルシューティングしやすいのが一番です。エミュレータではなく、Ubuntu入れろというのは乱暴に思えるけど、実際それが一番だと思います。
ただ、肝心のUbuntu用Sugarパッケージの出来は微妙な気がしないでもないです。大分前に入れた時に感じた事だから、今は改善されているかも。
sugar-jhbuildのビルドはものすごく時間がかかるし、いろんな問題は発生するしで結構大変です。
PyCon2008 OLPC Tutorial 超要約 その1
原文は以下のページのPyCon 2008 Tutorialというリンクで落ちて来るODTファイル。
http://wiki.laptop.org/go/Tutorials
小さな人たちのために、小さなソフトウェアを作る
目的
OLPCGame/PyGamesソフトウェアを作る具体的に学ぶ事
- XO開発環境のセットアップ(XO本体は必要ないよ)
- スケルトンビルダーを使ったアクティビティの作り方
- スケルトンのカスタマイズの仕方
- TextSprite(Pango)の使い方
- SVGSprite(Cairo/rsvg)、SVGレンダラの使い方
- メッシュネットワークモジュールの使い方
- ジャーナルストレージシステムの読み書きの仕方
- テレフォニーを使ったネットワーク構築
- テストとデプロイの仕方
注意
- 高度で特殊な腕前は必要ないけど、Pythonに慣れている事が前提です
- 環境構築は別としてチュートリアルを始めから終わりまでやると、3時間近くかかります
火曜日, 4月 08, 2008
XOを日本語化
日本語化
先人の教えを参考にOLPCを日本語化。
途中でwgetをインストールするように書いてあるが、最初から入っているcurlでもOKみたい。
一番はまったのは、Browserで落としたIPAフォントのzipがどこに保存されたか分からないこと。
素直にhomeディレクトリに落としてくれればいいような気がするんだけど。
一応それらしきところは見つけたけど、名前がハッシュになっているのかな?
いろいろやるうちにJournal経由でetoyでzipが開かれるというところまでは出来たが、操作が良く分からない。
#持っている人でないと何言ってるのかさっぱりですな
仕方ないのでMacでフォントをダウンロードして、USBメモリ経由で移動。
とりあえず日本語表示出力が出来る様になった。
入力がインラインではないのがまた微妙ですが、これまで参加した国では特に問題にならなかったのかな?
しかし、こういうLinuxっぽい使い方はXOの目指すところじゃないんだろうな。
eToyを覚えると世界が広がりそうだけど、今の目標はPythonでActivityを作る事だから我慢。
とはいえ情報収集はするつもり。Squeakの本でも買うとしよう。
土曜日, 4月 05, 2008
日曜日, 2月 10, 2008
Sugarチュートリアル(20080210)
いくつかやってみたのでその寸評。
Activity tutorial
一番最初にやってみるべき。基本的なことが分かる。
Gladeを使わないなら、これで十分。
PyGTK/Hello World with Glade
PyGTK/Hello World Tutorial
Gladeを使ったチュートリアル(下段は使わない物も含む)。お勧めは下段。
上段はアプリケーション本体とActivityのためのコードが密になっているが、下段は分離されている。
ただし、下段にはGladeの詳細な操作が含まれない。
レイアウトを記述したXMLはサンプルに含まれているので困らないといえば、困らない。
ただGladeの使い方も知りたい人はちょっと困る。
下段で行うGladeの操作を未来の誰かのために書いておく。
ただし、チュートリアルに出て来るそのまんまのものは出来ないのであしからず。
1
Gladeを起動して、パレットからWindowを選び、widgetを置く準備をする。
2
パレットのVertical Boxクリックし、次に1で作ったWindowをクリックする。
何段にするかダイアログで聞いてくるので2と入力。
3
Labelをクリックし、2で配置したVertical Boxの上段をクリックする。
Labelが配置され、プロパティパネルにLabelのプロパティが出るので、ラベルの内容をHelloとし、マークアップの使用をONにする。
4
Horizontal Boxをクリックし、Vertical Boxの下段に3列で配置する。
5
Hrizontal Boxのそれぞれの列にボタンを配置する。
それぞれのnameを左から順に、helloButton、cleanButton、quitButtonと設定する。
6.保存する
これで、ほぼサンプルと同じになる。「ほぼ」だけど、チュートリアルの実施に問題は無いはず。
他のチュートリアルは別の機会があったらやってみる。
Sugar on Ubuntu on Parallels
何はなくともSugar環境の構築。
これ自体は何度かやってるけど、生活環境にSugar環境を構築すると、依存関係でいろいろ衝突して結局消したりしてる。
そこで、Parallels上のLinux上に構築出来ないか挑戦。使うLinuxはUbuntu。
前回6.06に入れた時のようなトラブルも無く無事導入完了
よく使うコマンドを以下の様にaliasに登録しておく。
$~/sugar-jhbuild/sugar-jhbuild shell sugar-shell
$~/sugar-jhbuild/sugar-jhbuild run sugar-run
Ubuntuでやる前に、Fedoraで挑戦したら失敗した。原因は使い慣れていない物を使ったせい。
土曜日, 10月 06, 2007
OLPCに触ってきた
目当てはOLPC実機。行った時点で準備されていたOLPC2台とも他の方がいじっていたので、ちょっと待つ。
全体
-----
実際に持ってみると、以外と重いというか、密度がある。重心が後ろの方にあるので、と楽な持ち方を教えてもらったが、子供にはそれでもきついんじゃないだろうか?高学年ならそうでもないのかな?基本的に置いて使うだろうから問題ないだろうが、ランドセルにあれが入ってたらきついだろうなあ。もし子供時代にあれがあったら喜んで持って帰るだろうけど。
今回触らせてもらったのはB4。会場にはB2もあったけど、B4の方が断然良かった。
スペック的にも満足できるものになっているそうだ。
ディスプレイ
--------------
暗めの会場似も関わらず、はっきり見えていた。白黒モードも十分妥協できる範囲だと思う。日光下で見たらまた違うかもしれないけど。
キーボード
-----------
ゴムっぽい感触で、へちょいが、子供対象だとあれでよいのかもしれない。ただ、本格的に使おうとすると外付けキーボードが必要だと思う。
今回説明してくれたSqueak-jaの人にも分からないというキー(手形キー)が気になる。
OLPC WIKIによると自由に使えるキーのようだが。実際使ってるActivityはあるのかな?
Human Interface Guidelinesにもこのキーへの言及ら敷物があるが、やはりよくわからん。
(Grab Key + タッチパッドでスクロール操作?)
意外なほど、実行性能は高い。複数Activityを立ち上げたらまた違うかもしれないけど、今日見た範囲では、なんの問題もなく動かせた。もちろん(先進国の)大人のビジネスに使えるかといったら微妙だが、それは明らかにOLPCの目的と違うだろう。
他にもUbuntuやMozillaなどなどにお邪魔しました。
