RFC2822ライブラリforPython
RFC2822はWebAppがはやってきた訳でなかなか使う場面も多いかと思う.
自分もtwitterいじってて,相互変換できたほうが良さそうなので簡単なライブラリにしてみた.
- mylib/rfc2822.py
#coding:utf-8 # need python 2.4 or newer, maybe! import datetime # timezone class for JST class JST (datetime.tzinfo): def utcoffset (self, dt=None): # default offset of this timezone from UTC return datetime.timedelta (hours=9) def dst (self, dt=None): # offset in daylight saving time return datetime.timedelta (hours=9) def tzname (self, dt=None): # name of this timezone return "JST" class UTC (datetime.tzinfo): def utcoffset (self, dt=None): return datetime.timedelta (hours=0) def dst (self, dt=None): return datetime.timedelta (hours=0) def tzname (self, dt=None): return "UTC" def date_to_rfc2822 (d): # d : datetime object with timezone from time import mktime import email from email.utils import formatdate, mktime_tz import datetime if not d.tzinfo: print 'date_to_rfc2822 : argument d must be aware datetime object' raise tzdelta = d.tzinfo.utcoffset ().seconds dt_tz = datetime.datetime.timetuple (d) + (tzdelta,) return formatdate (mktime_tz (dt_tz)) def rfc2822_to_date (t, tz=UTC ()): # t : string # this argument assumes string expression of RFC2822, i.e. 'WeekDay Month Day HH:MM:SS UTCOffset Year' # tz : tzinfo object # tz detetmines the timezone of the returning string import email from email.utils import parsedate_tz, mktime_tz import datetime from time import mktime return datetime.datetime.fromtimestamp(mktime_tz (parsedate_tz (t)), tz)
で,使い方
>>> from rfc2822 import rfc2822_to_date, date_to_rfc2822, JST, UTC >>> from datetime import datetime >>> >>> date_to_rfc2822 (datetime.now (UTC ())) 'Tue, 25 Aug 2009 18:43:28 -0000' >>> date_to_rfc2822 (datetime.now (JST ())) 'Tue, 25 Aug 2009 18:43:32 -0000' >>> rfc2822_to_date ('Tue Aug 25 06:41:01 +0000 2009', JST ()) datetime.datetime(2009, 8, 25, 15, 41, 1, tzinfo=<rfcutils.JST object at 0x8cd70>) >>> rfc2822_to_date ('Tue Aug 25 06:41:01 +0200 2009', JST ()) datetime.datetime(2009, 8, 25, 13, 41, 1, tzinfo=<rfcutils.JST object at 0xbd530>) >>> rfc2822_to_date ('Tue Aug 25 06:41:01 +0200 2009') datetime.datetime(2009, 8, 25, 4, 41, 1, tzinfo=<rfcutils.UTC object at 0xbd4d0>) >>> rfc2822_to_date ('Tue Aug 25 06:41:01 +0000 2009') datetime.datetime(2009, 8, 25, 6, 41, 1, tzinfo=<rfcutils.UTC object at 0xbd4d0>)
ポイントはtimezoneを指定すること.
date_to_rfc2822のクラスは必ずtzinfoフィールドを持つようにしなければいけない.
OpenVPNで自宅へ接続
自宅のUbuntuServerにOpneVPNサーバをたてて,そこから自宅のネットワークにアクセスできるようにしたんだけど,
ブリッジのルーティングが上手く行かない..
外のネットワークからVPN接続し,IPアドレスを割り当ててもらう事には成功したんだけど,
ルーティングがおかしい..
;;外のローカルネットワークから,自宅のVPNに接続.
;;とりあえずルータをさがしてみる..
$ traceroute 192.168.1.1
raceroute to 192.168.1.1 (192.168.1.1), 64 hops max, 40 byte packets
1 192.168.182.1 (192.168.182.1) 13.845 ms 2.632 ms 2.632 ms
2 * * *
3 * * *
あのー,192.168.182.1って,今割り当てられているローカルネットワークですよ...
うーん,ルーティングがおかしい...
さて,どうやってこれを直すか...
哲学書来た
やっぱDebian好きだけどね..
でも今更ながら深淵なるFreeBSDの世界へ.
まず良い本を買うことが全ての一歩.
Absolute BSD FreeBSD システム管理とチューニング FreeBSD4.x/5.x対応 Mycom UNIX books
- 作者: Michael Lucas,佐藤広生
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2004/09
- メディア: 単行本
- 購入: 1人 クリック: 58回
- この商品を含むブログ (16件) を見る
1章インストール,2章Manの引き方,..4章カーネルというなんとも固いコンテンツw
ちょっと古い本だけど,思想を知るのには十分そうです.
サマーソニック09
行ってきました.初日と最終日.
東京会場です.といっても,筑波からなにげに遠い...
で,軽く振り返ってみます.
2009年8月7日(金)
Who The Bitch
オープニングアクトでした.良かったです,思いのほか.
テイストが日本らしくないが,MCは関西弁だった...
あと,ドラム上手かったです.
朝一番なのに異常にテンションが高い,Bitchなやつらでした.
WHO THE BITCH (1) @ B.B. Street 2007/5/22
このライブビデオ,OPのSEが'The Band'の'Theme From The Last Wartz'というのは彼らのセンスを感じます.
Totalfat
時間が空いていたので聞いてみたバンド.
日本のメロコアみたいな感じ.
もうちょっとリフがかっこ良ければ...
にしても,21世紀にライトハンドを聞けるとは思いもしませんでした...
Totalfat - Show me your corage
Slimmy
Eguに誘われ見に行ったバンド.
R&Bとグラムとポップを混ぜたものをモダンに解釈したようなバンド.
ボーカルが気持ち悪い.動作が...
だが,これもかなり良かったです.アルバムがiTunesStoreで出たら買いたい.
SLIIMY - WAKE UP
Paramore
結構有名らしいですね.
ヘヴィなAvrilLavigneとでも形容すればいいのでしょうか?
実際Hayley嬢は相当上手かった.
自分は全く知りませんでしたが,散々暴れさせてもらいました.
BoomBoomSatellites
人力系テクノバンド.
さすが古参.あの複雑な曲をよく再現できる.
ドラムの正確さも驚嘆.
ラスト'Kick It Out'で一つの事が分かりました.
クラブミュージックでもモッシュができる
NineInchNails
神降臨.伝説のライブになります,これ.
TheFrailで雨が降り出してDavidBowieのカバー' I'm Afraid Of Americans'で土砂降り...
どういう演出ですか?ソ連の秘密兵器でも使ったとしか言いようがない...
そしてラストのHurt,今まで最高のHurtでした...
ありがとう,Trent先生...
2009年8月9日(日)
朝からちょっと曇っている.
まー夏フェスだと,ちょっと曇ってるくらいがいいのかもしれませんが,死者が出ないという点で.
Triceratops
朝一.クロークに行くついでに聞いてみた.
名前はしってたけど,聞く事自体10年ぶり.
うーん,ちょっと温すぎて聞いてられなかった...
タバコすってたら..
MountainStage横の喫煙所.次のバンド'FiveFingerDeathPunch'の待ち時間に.
ちょっと分かりずらいかと思いますが,黒いTシャツの奴らが多いw
そして,地べたに座ってる奴大杉...サマソニ中もっとも行儀が悪い場所でした.
(僕も疲れたのでウンコ座りしてましたけど..)
Five Finger Death Punch
ちょっとだけエモいスラッシュ.
お昼からモッシュさせてもらいました.きもちいい.
このバンド以降,鋼鉄/キッズ率の高いバンドのモッシュはクオリティが高い.
ボクサーみたいな奴とかいて怖かった.
Five Finger Death Punch - The Way Of The Fist
あと,途中で客が一緒にあわせてくれなくてMCのヴォーカルが凹んでました.かわいそす.
ここで一言.
通はモッシュを端でする - Egu
KEANE
飯食いながらみてました.
スラッシュ聞いた後には温すぎる...いや,いいバンドなんだけどね..
In Case Of Fire
始まる前にガラ空きだったので遊んでました...
ばか...
で,ほぼその状態ではじまりました.うーん,知名度が無いようですね.
In Case Of Fire - Enemies
Enter Shikari
トランスコアとも言うべき,トランスとメタルコアが合体したようなバンド.
非常に斬新.これもモッシュ&サークル天国.
そして,目当てのオーディエンスの作る人間ピラミッドも見れました.満腹.
僕も"パンパンパン"してきましたよ!
マキシマムザホルモン
日本の現役メタルバンドの最高峰.まかさこんなにファンがいるとは...
MountainStageがいっぱいでした.
EnterShikariで相当体力を消費して辛かったw
半分くらい聞いてドリンク飲みながら聞いてました.
いやー,若いファンの体力すげー.
あと,噂通り気持ち悪いファンがいっぱいいました.
CAVALERA CONSPIRACY
仲間割れしてたカヴァレラ兄弟が仲直りして作ったバンド.
Seplutura/Soulflyの流れを汲むブラジリアンメタル.Sepluturaはブラジルの民族音楽をスラッシュメタルに最初に取り込んだバンド.
マックスのヴォーカルは相変わらずすばらしい.歳の割には声量が落ちていない.
Roots/ChaosADからの選曲もあってファンを楽しませてくれました!
Seplutura - Roots Bloody Roots
疑問なんだけど,マキシマムザホルモン後にめっちゃ客の数が減ってた...なぜマキシマムザホルモンを聞けて,CavaleraConspiracyを聞けない...?
Limb Bizkit
90年代のメインストリーム, ラップメタルの形成と普及に大きな役割をしたバンド.
今回の来日は脱退していたWesBorlandが復帰したオリジナルメンバー!
Wesはこんな人です.街に居たらこわいw
で,さすが,Wesのギターは前回見たMikeSmithとは大きく違う.リフ一つをとっても鋭さの中に独特のしなやかさがある!
FredDurstも歳をくったのか,過去のバッシングが聞いたのか歳くってましたが,ライブが上手くなってよい.
JohnOttoの繊細なドラミングも光ります!
シメにふさわしいすばらしいパフォーマンスでした.
まとめ
つかれた.全身筋肉痛...
それはさておき,今回のサマソニは90年代ロックのおさらい的な内容だった.
90年代の懐古ができて改めてあの10年は音楽にとって実り多い年月だっことを再度認識しました.
SPAM研究
なかなか最近のSPAMは手が込んでいるようですね.
ベイジャンフィルタをかいくぐるべく日本語の盲点をついた文章で巧みにフィルタをくぐり抜ける.
SPAM観察
いかに実際自分のはてなダイアリーに張られたものを示す.
ex.1
うぇwwうぇっうぇwwwwwww 2009/07/27 09:27
ドーユーリメンバー?私アルパカに似てるタケシねwwwwwww
んぉふーww 雑誌に載ってたのやってみたらコスプレ姫の魔法のフィラチオにハマっちゃって思考回路がフィラチオ中心になってるぉwwwwww
てか気持ちよくしてもらってんのに何で5万貰えんの? カオスwwwww
ex.2
オッス!ニートの桜井だよ!いやいや毎度毎度!!!!!
ここで釣った女でコンニャクオナと生マヌコのどっちが気持ちいいか試したお!!
えとうん・・・問答無用で生マヌコの勝ちだわwwwwwwwwwww
てかハメさせてくれた女子が当たり前のように10万くれたんだけど何でー???
特徴
- 2ch用語のような言葉
-
- うぇwwうぇっうぇwwwwwww
- 怪しい日本語
-
- ルー大柴?
- 隠語の変形
-
- フィラチオ
-
- マヌコ
-
- 女子
- リンク先の偽装
-
- 暗号化したようなURI
-
- バーチャルホスト
など,上手い事隠語の変形でスパムコーパスにない単語を選んでいる.
なかなかフィルタを研究されているようですね.
でも,リンク先のIPを引いてみると,みんな66.71.248.210になっているのできっと単一サーバでやりくりしているんでしょうね.
なかなかおもしろい...
対策
この手の業者は一つではないはず.
だが,穴はある.
彼らは結局どこかのページに見た人を誘導したい訳だから.
なら,そのリンク先のページをベイジャンフィルタにかけてスパムサイトIPのリストをつくれば,簡単にブロックできるわけだと思う.
実際,スパムの送ってくるページには普通のSPAMコーパスに入っていそうなトークンがちりばめられている.
もちろん,そんな事にサーバの計算機コストを裂こうとはてなの管理者様が思うかは不明ですが.
技術的には興味があります...
追記
さっきのスパム文をmecabで形態素解析してみたらおもしろい...
$ mecab < spam.txt > spam.out.txt
$ cat spam.out.txt
ドーユーリメンバー 名詞,一般,*,*,*,*,*
? 記号,一般,*,*,*,*,?,?,?
私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
アルパカ 名詞,一般,*,*,*,*,アルパカ,アルパカ,アルパカ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
似 動詞,自立,*,*,一段,連用形,似る,ニ,ニ
てる 動詞,非自立,*,*,一段,基本形,てる,テル,テル
タケシ 名詞,固有名詞,人名,名,*,*,タケシ,タケシ,タケシ
ね 助詞,終助詞,*,*,*,*,ね,ネ,ネ
wwwwwww 名詞,固有名詞,組織,*,*,*,*
EOS
ん 助詞,特殊,*,*,*,*,ん,ン,ン
ぉふ 名詞,一般,*,*,*,*,*
ー 名詞,一般,*,*,*,*,*
w 記号,アルファベット,*,*,*,*,w,ダブリュー,ダブリュー
w 記号,アルファベット,*,*,*,*,w,ダブリュー,ダブリュー
記号,空白,*,*,*,*, , ,
雑誌 名詞,一般,*,*,*,*,雑誌,ザッシ,ザッシ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
載っ 動詞,自立,*,*,五段・ラ行,連用タ接続,載る,ノッ,ノッ
て 動詞,非自立,*,*,一段,連用形,てる,テ,テ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
の 名詞,非自立,一般,*,*,*,の,ノ,ノ
やっ 動詞,自立,*,*,五段・ラ行,連用タ接続,やる,ヤッ,ヤッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
み 動詞,非自立,*,*,一段,連用形,みる,ミ,ミ
たら 助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
コス 名詞,固有名詞,人名,姓,*,*,コス,コス,コス
プレ 名詞,固有名詞,組織,*,*,*,プレ,プレ,プレ
姫 名詞,一般,*,*,*,*,姫,ヒメ,ヒメ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
魔法 名詞,一般,*,*,*,*,魔法,マホウ,マホー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
フィラチオ 名詞,一般,*,*,*,*,*
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
ハマっ 動詞,自立,*,*,五段・ラ行,連用タ接続,ハマる,ハマッ,ハマッ
ちゃっ 動詞,非自立,*,*,五段・ワ行促音便,連用タ接続,ちゃう,チャッ,チャッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
思考 名詞,サ変接続,*,*,*,*,思考,シコウ,シコー
回路 名詞,一般,*,*,*,*,回路,カイロ,カイロ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
フィラチオ 名詞,一般,*,*,*,*,*
中心 名詞,一般,*,*,*,*,中心,チュウシン,チューシン
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なっ 動詞,自立,*,*,五段・ラ行,連用タ接続,なる,ナッ,ナッ
てる 動詞,非自立,*,*,一段,基本形,てる,テル,テル
ぉ 名詞,一般,*,*,*,*,*
wwwwww 名詞,固有名詞,組織,*,*,*,*
EOS
てか 接続詞,*,*,*,*,*,てか,テカ,テカ
気持ちよく 形容詞,自立,*,*,形容詞・アウオ段,連用テ接続,気持ちよい,キモチヨク,キモチヨク
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
もらっ 動詞,非自立,*,*,五段・ワ行促音便,連用タ接続,もらう,モラッ,モラッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
ん 助動詞,*,*,*,不変化型,基本形,ん,ン,ン
のに 助詞,接続助詞,*,*,*,*,のに,ノニ,ノニ
何で 副詞,一般,*,*,*,*,何で,ナンデ,ナンデ
5 名詞,数,*,*,*,*,5,ゴ,ゴ
万 名詞,数,*,*,*,*,万,マン,マン
貰え 動詞,自立,*,*,一段,未然形,貰える,モラエ,モラエ
ん 助動詞,*,*,*,不変化型,基本形,ん,ン,ン
の 助詞,終助詞,*,*,*,*,の,ノ,ノ
? 記号,一般,*,*,*,*,?,?,?
記号,空白,*,*,*,*, , ,
カオス 名詞,一般,*,*,*,*,カオス,カオス,カオス
wwwww 名詞,固有名詞,組織,*,*,*,*
EOS
こいつ,アルパカを知ってやがる...
Tracのスタイル設定メモ
Trac0.11からTemplateEngineがGenshiに変ったことを受け,スタイルとかの設定方法が変わったのでメモしておく.
まず,"/pathToTracEnv/tempaltes/site.html"に
<link rel="stylesheet" type="text/css" href="${href.chrome('site/style.css')}" />
を追加する.
次に,上のlinkから読み込まれるスタイルシートを作ってあげる.
インストール時のディフォルトの設定だと,siteは,"/pathToTracEnv/htdocs/"になるので,
"/pathToTracEnv/htdocs/style.css"を作って編集する.