ブログにはOLPCとXOに関する事柄を中心に扱ってきました.
しかし,2009年からはもう少し自由度を広げたいと思います.
あまりテーマに分類,整理しすぎると身動きがとれないので,
・文房具やフリーソフトを使ってみた感想
・立体視,光3次元計測関連
・XOいじってみたよ関連
などをメインにしていきたいと思います
weeklyぐらいの更新になると思います.
ネタがあれば,dailyになるかもしれません.
研究活動の報告ほか趣味の話を織り交ぜた日々の雑記帳
このままでは,再起動も電源切断も分からない.
そこで,英語表記に切り替える方法を調べた.
基本的には本家OLPCWikiを見れば全て解決する.
該当部分のリンクは以下から.
http://wiki.laptop.org/go/Japanese/Setup
http://wiki.laptop.org/go/Customising_XO_for_Japanese_language_from_the_command_line/lang-ja#.E6.97.A5.E6.9C.AC.E8.AA.9E.E3.83.95.E3.82.A9.E3.83.B3.E3.83.88
コンソールを開いて,
$sugar-control-panel -g language
で,現在使用中の言語が表示される.
次のコマンドを使用してJapaneseに設定.
$sugar-control-panel -s language Japanese
このコマンドを適用するだけでも,英語表記に変わるため,
ある程度の操作は楽になる.
(相変わらずキーボードのマッピングはスペイン語のままだが,
Fedoraであることは変わりないので,設定できるだろう.
ただ,キーボードの印字と入力が違うのはやはりすっきりしないので,
キーボードに関しては,現在のまま使用する予定である)
公式Wikiにはさらにコマンドが続く.
$cd
$cp .xsession-example .xsession
.xsessionを.xsesion-exampleをコピーして作製し.
.xsessionをエディタで開き以下のコードをファイルの一番下に追加する.
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export USE_XOPENIM=t
scim -d &
記述が終わったら,再起動する.
こちらのコードは単にものぐさな私が書き写していないので実行していないが
これで日本語入力が可能になる(後日検証します).
また,デフォルトでは日本語のフォントが入っていないので,
別途導入する必要がある.
ひとまずフリーのさざなみフォントを入れておいた.
wgetが使えるので,URLさえ正しく入力できれば,あっという間に適用される.
日本語環境構築に関してはWiki内に日本語の解説があるのでまったく心配事はない.
http://wiki.laptop.org/go/Customising_XO_for_Japanese_language_from_the_command_line/lang-ja#.E6.97.A5.E6.9C.AC.E8.AA.9E.E3.83.95.E3.82.A9.E3.83.B3.E3.83.88
完全日本語版XOを構築するのもいいかもしれない.
--
参考サイト
http://wiki.laptop.org/go/Japanese/Setup
http://techon.nikkeibp.co.jp/article/NEWS/20080205/146971/
http://wiki.laptop.org/go/Customising_XO_for_Japanese_language_from_the_command_line/lang-ja#.E6.97.A5.E6.9C.AC.E8.AA.9E.E3.83.95.E3.82.A9.E3.83.B3.E3.83.88
追記
日本語Wikiにキーボードマッピングの仕方まで書かれていた.
日本語Wikiを見たほうが断然はやい,
ひとまず検証だけはそのうちします.
分からないのは,協調作業はどちら側で実行されているのか?ということ.
(送り元側で実行されているプロセスが送り先側にコピーされている?
あるいは,送り先側でも同じアクティビティを実行してデータのみを交換している?
両方のXOから文章編集(例えば相手が書いた文章を消すなど)などが完全にできるので,コピーオンライトのようなものではないと予想)
識者の方がいらっしゃったらぜひ教えていただきたい.
イルカマークのアクティビティ(名前は忘れた)は大変面白く,
2台のXO間の距離を測ることができます.
(コレは私の予想ですが,)音とネットワークを利用して相手のXOまでの距離を計測しているようです.
どこまで計測できるのかは近いうちに実験してみたい.
(1M前後であればそれなりの精度で計測できることは分かった,
簡単にメジャーを脇において測っただけなので,厳密な精度は分からないが,大体メジャーの示す距離が表示されていた.
ただし,音を使っているので音量が小さかったりマイクをふさいだりするととたんに精度が悪くなる,というか明後日の方向に向かった値が出力される)
ただっぴろい高原で長距離を測るのであれば,非常に有効なツールかもしれない.
*若干機能名などうろ覚えなため,正確ではないので,ミスがあれば後日修正します.
あとBloggerはメール投稿で写真の添付ってできるのかな?
tureオブジェクト falseオブジェクトの各メッセージである.
ブロックを変数に置き換えれば
tp := [Transcript show: 'True'.].
fp := [Transcript show: 'False'.].
boolitem := true.
boolitem ifTrue: tp ifFalse: fp.
となる.
あくまで オブジェクト メッセージ:引数
という形は変わっていない.
結局,条件判断だろうがなんだろうが,特殊なことは無く,
オブジェクト間のメッセージやりとりであるという考え方は変わらない.
研究関連メモ
JITAG
http://www.jitag.org/publications.htm
その前に現バージョンのバックアップを作成する.
OLPCのsugarUIからCUIに切り替え.
dd if=/dev/core of=/mnt/usb/olpc/40614olpc.img
コレで本当に大丈夫だろうか...
まず,公式Wikiに書かれている方法でアップグレードを試した.
しかし,いきなり最新版にアップグレードすることができなかった.
理由は以下の通り
・Pythonのバージョンが低くwgetを使ったアップデートができなかった(Pythonのバージョンアップを図ろうとしたが,コンパイラが入っていなかった)
・OS656(現時点での最新版)とFS.zipファイルを入れたUSBがあれば,自動的に読まれるはずだが,読まれなかった.
そこで,q2d07バージョンにアップグレードしてから最新版にアップグレードする.
手順1:q2d07.romにアップグレード
XO起動時にゲームパッドの4つのボタンを全て押した状態で起動.
離したあとにESCボタンをすぐに押す.
OKプロンプトが表示される.(この時helpと入力するとコマンドが見れる)
表示されたらq2d07.romを入れたUSBディスクを挿入
コマンド"flash u:\q2d07.rom"
で,イメージを更新
手順2:最新版OS656.imgにアップグレード
一度XOを終了させ,
OS656.imgとfs.zipを入れたUSBフラッシュを挿入.
手順1同様に4つのボタンを全て押した状態でXOの電源投入
自動的にimgファイルを読み込んで更新
以上で無事アップグレードすることができた.
SqueakでGoogle Map.
Java Scliptが実行できれば面白いかもしれない.
他者サイト経由でマップのピースを取得すれば,登録の必要なし.
しかし,ピースの大きさが固定されてしまう.
小さいモーフを敷き詰めたりできれば,もしかしたら再現可能かもしれない.
ただし,座標の計算が面倒でもある.
Google Static Map API
まだドキュメントが出揃っていない感じがする.
しかし,こった処理を望まなければ通常のGoogle Map APIより扱いやすい.
Google Map Keyを取得したので,簡単なコードを書いてみた.
(長いので改行しています↓)
response := HTTPSocket httpGetDocument:
http://maps.google.com/staticmap?
center=35.66524609822095,139.7182846069336&
markers=35.672358451082985,139.72394943237305,red&
zoom=13&size=400x250&key=あなたのGoogle Map Key.
(response mainType = 'image')
ifFalse:[Transcript cr; show:response].
image := ImageReadWriter formFromStream: response contentStream.
image asMorph openInWorld.
10:30-22:30
Squeakのショートカットは,ALT+??が基本形.
コピー:ALT+C
切り取り:ALT+X
貼り付け:ALT+V
プログラム制御
評価実行:ALT+D (Do it)
評価結果表示:ALT+P (Print it)
評価結果の解析:ALT+I (Inspect it)
最近発見したプログラム支援ショートカット
ifTrue:挿入:CTL+T
ifFaulse:挿入:CLT+F
Google MapがSqueak上で使えないか検討中
・Squeakのモーフ上でAjuxを動作させ,GoogleMapを表示
・Google Mapから静止画の取得を支援するサイト
・Google Static Map APIで静止画像を取得
現在,一番下の項目,
Google Static Map APIの利用を検討中
Squeakの代入は
_ もしくは :=
私たちのチームでは := を使うという取り決めにしている.
""で囲まれた文はコメントアウト
なるべくならば,英語で書くべし
次回はショートカット:
次回(あれば)に向けての教訓として,
1.和文和訳したものを絵に描く
2.単語は調べればどうにでもなる(CiNii Googleをコーパス代わりに)
3.名詞はまず記号で置く
4.可算か不可算か
5.複数か単数か
6.能動態に直らないか
7.関係代名詞の係りは合っているか
こんな具合だろうか.
あとはひたすら例文を書き写すぐらいしか勉強方はないのだろうか?
暇なときはなるべくCNNなどのPODCASTを聞いてはいる.
しかし,英作文とは勝手が違う,加えて意味をとることにいっぱいで細かなことに気が回せないあたり別の勉強方が必要だろう.
研究室のネットワークに接続しようとしたところ,どうもwikiに記載されているものと勝手が違う.
そこで,コンソールからいろいろ設定を叩いた.
といっても,iwconfig eth0 essid hoge channel x と
dhclient eth0
を実行した程度.
一度 /etc/sysconfig/network-scripts/ifcfg-eth0をいじった際に,
':'の位置がわからずごたごたしたが,特に書き換えた記憶はない.
しかし,次回起動以降UIが起動しなくなってしまった.
X11関連の記述をいじったわけでもないので,
とにかく起動の順番を追いかけていった果てに,
ようやくデスクトップマネージャあたりでエラーが出力されるのをつかんだ.
最終的なエラー出力としては
"UnboundLocalError: local variable 'e' referenced before assignment"
Pythonのことは良くわからないが,代入する前にローカル変数eを参照しているというエラーのようだ.
そして,そのエラーを吐き出しているのが,
nminfo.pyの 242行目 NetworkInvalidError(e)
つまり,ネットワーク関連の処理で例外が発生したが,
eが初期化されていない(?)ため,さらにエラーが発生して落ちた...
そういうことなのだろうか.
その場合はネットワークの設定を元に戻したいのだが,
iwconfigはどこかのファイルに変更を与えただろうか?
論文もあるので今日はこの辺でギブアップ
修士論文を提出してしまった段階で,かなり気が抜けてしまっている.
良くない傾向である.
画竜点睛を欠くということわざ通り,どうにも最後の詰めが甘いとよく言われる.
そうなる原因としては準備が足りていないためだろう.
祖父が口癖のようにいっていた「段取り」の重要性にいまさらのように気がついた.
次の論文のために,次の次の論文のために,たゆまず「段取り」を続けていかなければ.
とはいえ,明日で一区切りなので,久しぶりにみなでのみに行く予定だ!