講習会行ってきた

学情の講習会行ってきた。
開始時刻が午後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個しか見てないし)

Youtubeで遊んでみた

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

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

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

就職試験行ってきた

銀座にある会社の就職試験に行ってきた。
・・・中途採用で行ったはずなのに、ほとんど俺の年齢+5以下・・・(のような気がした。違うかもしれない。)
試験開始後におっさん数人遅刻してきてた。大丈夫か?
で、2時間後に試験終了。帰り際にビルのテナント表示見てびっくり。この会社しか入ってない。(ビルは10階建て)できたてみたいだしこんなもん・・・なのか?
続きを読む 就職試験行ってきた

freetypeインストール中

freetypeインストール中。
なぜか、オブジェクトファイルとして.loを吐き出すくせに、.oファイルを要求するからコンパイルが通らねぇ…おまけにobjs/.libsにまで.oファイルを要求するから余計に通らねぇ…
freetypeってこんなにコンパイル面倒だったっけ?
現在の解決策
.loファイルを要求箇所にコピー
数が多くて面倒だからシェルスクリプトで

ls objs/*.lo > lolist
while read file
do
	cp  $file `echo $file | sed -e "s/.lo/.o/"`
	cp `echo $file | sed -e "s/.lo/.o/"` objs/.libs
done < lolist

ftsystem.oが無いとか言われてるから、初期化してやり直し中…追記:(2010/04/22)原因判明。Boostビルド用に作ったgccラッパーが原因だった。排除したらコンパイルに成功した。
ああ。明日就活だ。早めに寝よう…