Google日本語入力をインストールしてみた

Google日本語入力がオープンソースになってUbuntu10.04で動作するらしいから、Google日本語入力のOSS版MozcをUbuntu 10.04にインストールしてみたを見つつインストールしてみた。
コマンド全部コピペしてやったら結構早く終わった。
現在試用中。単語登録とか設定とかは全くいじれないみたい。そこら辺はバージョンアップ待ちか。

行きも帰りも

行きの電車、席取りゲーム状態の乗車で座れなかった…結局全区間立ちっぱなし…(定刻で約1時間15分)しかも、途中信号につまって到着が5分遅れ…足曲げたい…
で、帰りは電車のドアに傘はさまれた…次の駅で同じドアが開いたから即回収。特に壊れたところは双方無かった。
明日はもっと早く並んでやる。で座ってやる。マジで足が辛い。

仕事行くと書くこと減るな…

仕事の都合上守秘義務が発生してて書くこと少なくなるな…
今日なんて、通勤しようと思ったら電車が人身事故で遅延してて、振替乗車でギリギリ間に合ったくらいしか書けないし…
守秘義務ってどこまでしゃべっていいんだろうか…
続きを読む 仕事行くと書くこと減るな…

初実習

就職応援の実習に行ってきた。
朝6時に目覚ましかけてさぁ起きれるかなって思ったら、起きたの5時…1時間ほど二度寝。
6時に改めて起きて7時に出発。電車込み具合がヤベェwww微塵も動けねぇ…(車内も車外も)なんだかんだで8時半に到着。帰りも帰りで結構混雑してた。少しは動けるだけ行きよりはマシか?
続きを読む 初実習

wxWidgetsはやっぱり大きかった

久しぶりにwxWidgetsをコンパイル。
今まで静的リンクしててexeが2MB行ったから、今回は動的リンクにしてDLLを構築。結果exeは150KBくらいまで軽くなった。dllが合計で5MB行った・・・orz
静的リンクした方が軽いのかよ・・・まぁ、ランタイムとしてまとめて使用すればいつかは元がとれるか・・・

PHPでXMLいろいろ

Youtubeに動画のメタデータをリクエストすると、XMLで返してくるので解析中。
解析は"$data=simplexml_load_file(“http://gdata.youtube.com/feeds/api/videos/”.$videoid);"でXMLを取得&パースして各種要素にアクセス。
で、Youtubeの一部動画は外部プレーヤーで再生できないようになってるから、それの判定プログラムを書いた。


<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:app='http://purl.org/atom/app#' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gd='http://schemas.google.com/g/2005' xmlns:yt='http://gdata.youtube.com/schemas/2007'>
	<id>http://gdata.youtube.com/feeds/api/videos/GF69Om75cT4</id>
	<published>2008-10-24T16:30:40.000Z</published>
	<updated>2010-04-26T10:40:56.000Z</updated>
	<app:control>
		<yt:state name='restricted' reasonCode='limitedSyndication'>
			Syndication of this video was restricted by its owner.
		</yt:state>
	</app:control>
	<category scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/>
	<category scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Film' label='映画とアニメ'/>

対象の動画のXMLの一部。
でこれが、単純に読み込んだ場合の一部

SimpleXMLElement Object (
	[id] => http://gdata.youtube.com/feeds/api/videos/GF69Om75cT4
	[published] => 2008-10-24T16:30:40.000Z
	[updated] => 2010-04-26T10:40:56.000Z
	[category] => Array (
		[0] => SimpleXMLElement Object (
			[@attributes] => Array (
				[scheme] => http://schemas.google.com/g/2005#kind
				[term] => http://gdata.youtube.com/schemas/2007#video
			)
		)

途中、<app:control>がごっそりなくなってる…
ググってみると、XMLのタグ名に:が付いてるのは名前空間らしく、$app=$data->children(“app”,true);でアクセスするみたい。
ただ、外部プレーヤーで再生出来る動画にこのタグはないから、if(!empty($app))で判定してやる必要がある。
あと、@attributes以下にアクセスするには

$yt=$app->children("yt",true);$yt->state->attributes()->reasonCode=="limitedSyndication"

みたいな感じでattributes関数を挟んでやる必要があるみたい。
面倒くさいなぁ…
追記:XMLの最後に<yt:noembed/>があるのを確認。どっちかっていうと、こいつを認識すればいいのか?
続きを読む PHPでXMLいろいろ

YoutubePlaylistPlayer改造中

Youtubeのプレイリストを作るページを改造中。
クッキーに保持しているプレイリストを、XMLでエクスポート&インポートできるようにした。
ただ、インポートは@pagesだと動かせないから鳶の置いてある000webhostでデバッグ。
あと、削除ボタンの処理を変更。クッキーから削除してから表示を削除するようにした。あまり高速連打しなければ削除は簡単になった。
現在外部プレーヤーだと再生できない動画の識別中。
メタデータに
<app:control>
<yt:state name="restricted" reasonCode="limitedSyndication&quot>
Syndication of this video was restricted by its owner.
</yt:state>
<app:control>
があると再生不可っぽい。(確証なし。1個しか見てないし)

Youtubeで遊んでみた

Youtubeの埋め込みプレーヤーとAPIでプレイリストを作ってみた。
Youtubeにもプレイリスト機能はあるんだけど、ログイン必須で面倒だからクッキー使って自作してみた。
プレイリストの管理と動画タイトルの取得にPHPをつかってるからAjaxを使ってみた。prototype.jsのおかげで結構手軽に実装できた。
ただ、

  1. 動画が若干ちらつく(LinuxのFlashプレーヤーのせい?)
  2. ときどきメニューっぽいのが残る(原因不明)
  3. 毎回Youtubeと通信するから負担がかかる(仕様)
  4. ときどき再生エラーする(連続再生のせい?)

の不具合を持ってる。
特に3が不安要素。怒られないかなぁ・・・