Ubuntuカスタマイズパッチの更新

Ubuntuをカスタマイズするシェルスクリプトを書き直した。
今度のパッチは極力人がいなくてもいいようになってる。
ただ、pc-grubの設定確認にTab->Enterが2回必要になってる。
どうせいじらないんだから、設定飛ばせるようにしたいけど、どうすりゃいいんだ?
あと、作業時間が3時間越えるようになった。だんだん作業時間が長くなる・・・

講習会行ってきた

学情の講習会行ってきた。
開始時刻が午後13時になってたけど、気にせず12時50分頃に到着。
終了時刻が午後16時半になってたけど、説明を聞くとそのあと書類書くらしく、早くて5時、遅いとそれ以降だとか・・・
一通り説明受けて、書類書き終わったら5時17分だった。
で、帰宅。帰り際にネクタイとYシャツとベルト(切れかけてた・・・)と財布を購入。
親に金借りたことになった・・・orz
支給は6月末らしいぞ・・・
続きを読む 講習会行ってきた

Ubuntu焼き込み

カスタムUbuntuをDVDに焼いてみた。
DeepBurnerだと4回ミスったのに、ImgBurn使ったら一発で成功しやがった…
試運転すると、HDDのアクセスはOK。無線LANも反応したし、音声も出力できた。(初期設定の音量MAX…)
時計アプリの組み込み、実行も成功。wxWidgwts組み込んだんだけど、共有ファイルが見つからないらしくで実行できないから、ld.so.confに/usr/local/libを追記して、diffを取得してパッチ化。適用後にldconfig動かすようにしたら無事に起動した。
自動実行はまだ組み込んでないけど、コマンドラインで出来たよな?
続きを読む Ubuntu焼き込み

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個しか見てないし)