RSS

日々のメモ書き

Debian Developerが綴るメモ

perl の Encode

まあこんな感じで。変数の$マークってなんだっけというぐらいPerlを忘れていたとかなんとか。外部文字列と内部文字列で違う型で区別している言語のほうがわかりやすいな…。

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のソースにパッチが必要とか…。面倒くさくなって挫折。

< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 >