ラベル OLPC の投稿を表示しています。 すべての投稿を表示
ラベル OLPC の投稿を表示しています。 すべての投稿を表示

火曜日, 11月 03, 2009

宿業のコアラ

Ubuntu 9.10 Karmic Koaraにアップグレードしましたよ。
いつもは新規に入れ直しているんだけど、今回はアップグレードしてみた。もしかしたら後でクリーンインストールするかも。

さて、今回のコアラは、クラウド環境であるEucalyptusが目玉機能と呼ばれている様子。
とはいえ使っているのはデスクトップ版なので、実はあまりピンと来ない。クラウド環境に興味はあるんだけど。そのため個人的には、テーマが大きく変わったのが目玉というか、印象的な変更点。
ネット回りが若干不安定な気もするけど、概ね問題無し。

Andorid環境がリリースされるという話もあったけど、今の所は無い様子。launchpadにはあるけど。

typeZユーザとしては、画面の輝度変更が小細工無しで出来るようになったのがありがたいところ。

角ウサギの頃から不調だったSugar環境については、コアラでも不調のまま。根が深い問題らしいので、おとなしくFedoraを使うことを考えるべきかなあ。
typeZのディスクは余っているので、後一つぐらいOSが増えても問題ないけど、出来れば専用マシンが欲しい。Mac miniをFedoraマシンに出来たら良いのだけど。

土曜日, 1月 17, 2009

今は買えないXO

今、Amazon.co.ukをみたら、OLPC XO-1はUK Shipping onlyになってた。
予約してたら買えたのかな?

日本でも買えるNetbookにSugarを入れられたら、ハードウェアとしてのXOにこだわる必要は無くなるのだけど、XO以外にSugar環境を入れるのはいろいろ大変そう。
Sugar-stick(ubuntuベース)で試してみたけど、typeZではネットワークが動いてくれない。

日曜日, 1月 11, 2009

OLPC体制変化

昨今の経済情勢のせいか、OLPCプロジェクトは解雇&減給で体制を縮小するそうです。
Sugarの開発はコミュニティベースに移行なので、開発速度の低下は否めないかと。

ただ、メーリングリストでは今のところ混乱は無いようで、「XO Camp楽しいよね」という話題がほとんどです。

Sugarを作っているのでなく、Sugarで遊んでいる私も残念という気持ちはあるけど、潰れなくて良かったという気持ちの方が大きいかも。
コミュニティベースに移行することで、XO以外のハードでもきちんと動くようになる方向に進むといいなあ。
自分でも何か貢献はしたい。Sugarで遊ぶことが何らかの貢献につながりますように。

金曜日, 12月 26, 2008

PyCon2008 OLPC Tutorial 超要約 その4

その3からだいぶあいたけど、とりあえずメモ訳のまとめ。
未来の自分と、これからこの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 追加/除去 操作





  • TextSpriteを使ったテキストレンダリング

    • PangoFont クラス

    • Fontの仕様

    • Fontレンダリング結果、画像とRect

    • 文字列の翻訳のためにgettextをつかえ



  • layout関数とRect

    • Rectの仮想プロパティとそれらへの課題



日曜日, 12月 21, 2008

Sugarでアニメーション

Pygameだけで画面を作れとの教え通りにしたら、Sugar上で簡単なアニメーションをさせることも楽に出来ました。
見栄えがGtkと離れるから気持ち悪いけど、Gtkと組み合わせるのは将来の課題にしよう。

次に知りたい情報は次の2つ
・XO(Sugar?)のストレージの扱い方
・カメラの使い方

ストレージの方はPyCon2008のOLPC Tutorial資料にあるみたい。このチュートリアルは夏ぐらいに序盤だけをやって、放置していたので、今年中に全部やってみよう。

金曜日, 12月 12, 2008

275ポンドで買えるもの

今、1ポンドは135円くらいみたいです。
137.5ポンドだと18,500円くらいですね。
DSiは18,900円なので、まあだいたい同じくらいですかね。

なんとですね、DSiと同じ値段でパソコンを買えるらしいのですよ。茄子さん。
ただ、セット販売で2台ずつしか買えないんですよ。
でも4万円せずに、2台も買えるってすごいよね。輸送費を考えても十分安いよね。
2台もいらないから、1台は寄付してもいいよね。

火曜日, 11月 18, 2008

日本からG1G1

今度のGive 1 Get 1は、イギリスのAmazon経由なら日本からでも注文できるそうですよ。
円高だし、何より世界の子供たちのために参加しなくてはですね。
2台目が欲しいとかじゃないですから。子供たちのためですから。

土曜日, 9月 06, 2008

AmazonでOLPCが買えるかも

Amazon(多分com)でOLPCが買えるようになるらしいです。

One Laptop Per Child @ Amazon

G1G1みたいに北米限定というオチがなければいいんですが。
後でメーリスもチェックしてみよう。

水曜日, 5月 21, 2008

XO後継機発表

いろいろ問題や議論を起こしながらも、何とか進んでいるOLPCですが、XOの次世代機が発表されました。
両面マルチタッチディスプレイで、キーボードもそれを使ったソフトウェアキーボード、なのにお値段75ドルという激安さ。100ドルも達成してないのに大丈夫かしら?
まあ、目標は高い方がいいし、目標を掲げることでほかのメーカーから同様のマシンが出る可能性もあるし、v本題である教育が忘れられない限り、悪いことではないんじゃないかな。

あと、現行機種のコストダウンとかG1G1再びとかもあるそうな。

金曜日, 5月 16, 2008

XP ON XO

前々から噂はありましたが、OLPC XOにWindows XPを載せられるようになるそうです。
途上国側からの要望らしいけど、まあ仕方ないかなあ。
カスタム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 牛丼

Ubuntu8.04が出たので、牛丼パソコンの方のUbuntuをアップデートマネージャでアップグレード。
大体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スクリプトを以下の手順で動かす
  1. 001-olpcgames-setup.sh
  2. 実施したい番号の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)

OLPC wikiにはチュートリアルがいくつもある。
いくつかやってみたのでその寸評。

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

XOの発送は遅れているそうなので、遊ぶための準備をここ数日進めてみた。

何はなくとも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に触ってきた

OSCに行ってきました。

目当てはOLPC実機。行った時点で準備されていたOLPC2台とも他の方がいじっていたので、ちょっと待つ。

全体
-----
実際に持ってみると、以外と重いというか、密度がある。重心が後ろの方にあるので、と楽な持ち方を教えてもらったが、子供にはそれでもきついんじゃないだろうか?高学年ならそうでもないのかな?基本的に置いて使うだろうから問題ないだろうが、ランドセルにあれが入ってたらきついだろうなあ。もし子供時代にあれがあったら喜んで持って帰るだろうけど。
今回触らせてもらったのはB4。会場にはB2もあったけど、B4の方が断然良かった。
スペック的にも満足できるものになっているそうだ。

ディスプレイ
--------------
暗めの会場似も関わらず、はっきり見えていた。白黒モードも十分妥協できる範囲だと思う。日光下で見たらまた違うかもしれないけど。

キーボード
-----------
ゴムっぽい感触で、へちょいが、子供対象だとあれでよいのかもしれない。ただ、本格的に使おうとすると外付けキーボードが必要だと思う。
今回説明してくれたSqueak-jaの人にも分からないというキー(手形キー)が気になる。
OLPC WIKIによると自由に使えるキーのようだが。実際使ってるActivityはあるのかな?
Human Interface Guidelinesにもこのキーへの言及ら敷物があるが、やはりよくわからん。
(Grab Key + タッチパッドでスクロール操作?)

意外なほど、実行性能は高い。複数Activityを立ち上げたらまた違うかもしれないけど、今日見た範囲では、なんの問題もなく動かせた。もちろん(先進国の)大人のビジネスに使えるかといったら微妙だが、それは明らかにOLPCの目的と違うだろう。

他にもUbuntuやMozillaなどなどにお邪魔しました。