日々のメモ書き
Debian Developerが綴るメモ
perl の Encode
まあこんな感じで。変数の$マークってなんだっけというぐらいPerlを忘れていたとかなんとか。外部文字列と内部文字列で違う型で区別している言語のほうがわかりやすいな…。
AngularJSのHello worldをjQueryで書くと
まあ。おあそびなんで。AngularJSのトップページにあるデモをjQueryで書くとどうなるかって話。一つ一つ手続を書いていかなきゃならんのがめんどうだよねという話。MVC FWはよくできているなあ。
HTML::TableExtractを使った
今日はPerlの話。HTMLのスクレイピングをするときにtableに特化したライブラリ。テーブルのヘッダを見てとかいろいろあるようだが,そんなものはめんどくさいので数値で指定。次のようなコードとなる。
1段入れ子になったテーブルの最初のテーブルということになる。はっきり言ってこんなことならXPath使ったほうが楽だな。いや,他のモジュールが使ってないから使わないほうがいいのかなと思っただけ。
Javascriptメモ
どっちかいうと愚痴
- UTCを作るのにDate.UTCに時刻のパラメータを一つ一つ渡すのはめんどくさい
- Arrayの結合は+ではなくてconcat
- Chromeの開発コンソールで大部Javascriptのデバッグが楽になったな。
- encodeURIとencodeURIComponentの違い。
- HMACもあるしzipもあるし。探せばいろいろあるな。
- ここさえみれば大丈夫なリファレンスはどこなんでしょう。
- ajaxはクロスドメインが…。ちょっと計画が大幅に崩壊。
- Javascriptは,なんか,こう,いつもすっきりしない
天皇杯決勝
今年は落ち着いて天皇杯の決勝を観戦
契約時期の関係もあっていつまで続くかわからないこの天皇杯の日程だが元日決勝はやはり良い。新年はサッカーを見てスタートに限る。去年はきちんと見なかったので残念な年になったに違いない。
前半の点を取られるまでのガンバは良かったのになあ。遠藤がうまくボールを裁いていい攻撃を見せていたのに。しかしここで決めきれないとやばい予感がすると思ったんだが。後半のガンバはなんなんすか。采配がひどいのかなあ。家長が準決勝とは見違えるほど役に立ってないのは使い方の問題なのか,本人の問題なのか。あそこまで動かない前線だとどうにもならん。後ろでパスを回しているだけになって。準決勝でも後半はダメになったから柏の采配というよりG大阪の問題なのかもしれない。あとの交代も何をやりたかったのか意味不明。前半機能していた藤春の左サイドの攻め上がりも消滅。なんとも情けないという。
柏に悪気はないがNHKのアナが柏は前シーズンJ1優勝で今シーズン天皇杯取ったことで柏の時代が来るのかもみたいなことを言っていたが,対戦相手はその状態から真っ逆さまなので一寸先は闇なのがJリーグなんだよなあと思ったのであった。
サブメニュー付きメニュー
これもPythonで書く。メニューの生成部分しかないな。
menu = Gtk.Menu() interval = Gtk.MenuItem() interval.set_label("Update interval") submenu = Gtk.Menu() for i in [1, 3, 5, 10, 30, 60]: c = Gtk.RadioMenuItem('interval') c.set_label(str(i)) if i == self.interval: c.set_active(True) c.connect("toggled", self.update_interval, i) submenu.append(c) interval.set_submenu(submenu) menu.append(interval) about = Gtk.MenuItem() about.set_label("About") about.connect("activate", self.show_about_dialog) menu.append(about) quit = Gtk.MenuItem() quit.set_label("Quit") quit.connect("activate", Gtk.main_quit) menu.append(quit) menu.show_all()
set_activeを呼ぶと"toggled"のイベントが飛ぶのでconnectするのは後回しにしないとダメ。
Cairoで透過PNGの背景合成
Cairoでアルファチャンネル付きのPNGファイルと背景を描画したcanvasを合成する方法。Pythonで次のような感じ。ちなみにこういう感じでフォントの指定(select_font_face)もやっている。
image = cairo.ImageSurface.create_from_png("image_with_alpha.png") width = image.get_width() height = image.get_height() bg = cairo.ImageSurface(cairo.FORMAT_ARGB32,width, height) crbg = cairo.Context(bg) crbg.set_source_rgb(1,1,1) crbg.rectangle(0,0,width,height) crbg.fill() cr = cairo.Context(image) cr.set_font_size(120) cr.select_font_face("monospace", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD) cr.set_source_rgb(0,0,0) cr.move_to(0,128 - 16) cr.show_text("%s" % 'ABC') crbg.set_source_surface(image) crbg.paint()
画像のsurfaceを作成してsurfaceからContextを作って文字を書き込み。surface自体を背景となるsurfaceに書き込むという流れ
天皇杯準決勝
G大阪(1-0)鹿島。なんでG大阪は降格したんだろうな。前半は特に素早いパス回しで圧倒していたな。家長はワントップでの起用のせいかものすごく効いていた。そろそろ復活して欲しいとこである。来年どこに行くの?契約は1日だけ延ばせてよかったね。鹿島はブラジル人,特にレナトがぶち壊しにしていたのが残念。
柏(1-0)横浜M。なんとなくーだな。
三重から目指すJリーグ
FC伊勢志摩設立の動きである。10年後にJリーグを目指すとのこと。何を思って志摩市はぶちあげたのか。10年後ならJ3が出来てそうなのでなんとかなるのではなかろうかと思っておこう。ただ自分との関わりは遠い土地なのであった。FC鈴鹿ランポーレも違うし…。
linux-3.7に上げようとしたが…
Debianにlinux-3.7.1が入ったので(experimental)入れようとする。いつものようにlinux-kbuild-*がないのでlinux-headers-*が入らないからdkmsのモジュールがコンパイルできないんだよなーと調べてみると…。kernelだけあってlinux-kbuildがないというのはどういうことだと前から思っていたので調べてみると同じ文句をBTS言っている人が。しかもGraveになってる。linux側かlinux-tools側のどっちの責任か知らんが自分でlinux-kbuildを作る方法のドキュメントがあった。ひどいなあ…。
ドキュメントを見ながら自分でlinux-kbuild-3.7を作成。ここは問題なかったが。いざfglrxのモジュールを作ろうとするとエラーが。asm-generic/types.hがないと言っている。おや? 以前のバージョンにはあるが…。なんか変わったのか。Debian側の問題なのか?よくわからん。調べている過程で他の問題もあってfglrxのソースにパッチが必要とか…。面倒くさくなって挫折。