2009-03-01から1ヶ月間の記事一覧

更新されたTLを取得してGmailを介してメールで送るPython3.0スクリプト

昨日のエントリで書いた変更か、あるいは別の smtplib.py の変更がなされていることが前提。 そもそもなんで不慣れな Python3.0 で書いたかというと、まぁ新しいもの好きというのと JSON や SMTP を扱うライブラリが標準で用意されているからだったり。 使い…

Python3.0 の smtplib.py がそのままだと使えない

Python2.x だとうまくいくんだが、Python3.0 だとうまくいかないことがいくつか。最終的な目標は #!/usr/bin/env python3.0 import smtplib from email.mime.text import MIMEText from email.header import Header from email.utils import formatdate e = …

Hiki の UTF-8化

ローカルに Wiki があるとメモに便利だと思ってインストールした。 いろんな種類がある Wiki だけど シンプルなアピアランス 日本語が不自由無く使えて ちゃんとした HTML を出力する Ruby で実装されている ということで Hiki を選んだ。 しかしこれは EUC-…

Lua を始めた

lua-users wiki: Home Page ここのチュートリアルがとても参考になる。 これを追っていく中で、疑問に思う点があったら Lua 5.1 Reference Manual - contents で確認する、という形で進行中。 とりあえず感じたことは、まぁなんというか組込み前提の言語だけ…

RMS が昨今の Javascript に異議を申し立てたようです

The JavaScript Trap RMS が言った問題点を大雑把にまとめると non-free かつ nontrivial な Javascript を勝手に実行してしまうのは良くない。 しかしそれを完全に拒否したり free なものに置き換える術が現時点では無い。 ってところか。 ここで、nontrivi…

Mac OS X 10.5 にはオーバーフローをチェックする関数があった

ひょんなことから発見。 http://developer.apple.com/documentation/Darwin/Reference/Manpages/man3/checkint.3.html/usr/include/checkint.h を見ると、実に様々なインライン関数が並んでいた。 インターフェイスは check_[u]int{32,64}_{add,sub,mul,div}…

GNU grep のバッファリング

from: http://ya.maya.st/d/200903c.htmlGNU grep には --line-buffered というオプションがありますよ、と。Solaris の grep は知らないけど。 一文字単位で出力がある場合には使えないが、行単位ならばこれでOK。 したがって、 % (echo hoge; sleep 3) | g…

Twitter も始めてみた

mixi に続いて Twitter も始めてみた。 http://twitter.com/lazyeagle イマイチ感覚がつかめてないので手探りで。follow/remove は適当によろしく。 始めたばっかりの感想としては、自分の好みそうな話題をよくつぶやく人を見つけるのが難しい気がする。 検…

1008 442B

POJ

今日は 1008 -- Maya Calendar をちょっとがんばってみた。 問題文が長くて、理解するのにだいぶ時間がかかった。 ようするに 変換元の Haab => 一年は19ヶ月で、1-18ヶ月目は20日間で19ヶ月目は5日間(つまり一年は365日)。月の名前は pop, no, ..., cumhu, …

1002 348B

POJ

そんなテクニックも取り入れつつ、微妙に縮めたら 1002 が以前と同じ方針で 348B まで縮んだ。 c(int*a){a=*a-*1[&a];}i;j;d;main(n){int*m;char b[99];for(m=calloc(n=atoi(gets(b)),4);gets(b);i++)for(j=0;b[j];j++)b[j]>81&&b[j]--,m[i]=b[j]>64?10*m[i]…

変態的引数&戻り値 hack

isbn:9784839925239 の 2-2 より。qsort の compare に渡す関数。 c(int*a){a=*a-*1[&a];} これはひどいw 説明があるからこそ理解できるけど、そのままコードだけを見せられたら今の自分では理解できない。

Short Coding を買った

Short Coding ~職人達の技法~作者: Ozy,やねうらお出版社/メーカー: 毎日コミュニケーションズ発売日: 2007/08/09メディア: 単行本(ソフトカバー)購入: 5人 クリック: 306回この商品を含むブログ (69件) を見るOzy さんが書かれたショートコーディングのた…

FFmpeg の MMX における「can't find a register in class 'GENERAL_REGS' while reloading 'asm'」問題の結論

エラーメッセージの意味は「変数の数に対して汎用レジスタが足りないよ!」ってかんじで、詳しくは 昨日の修正をするまでの思考過程をまとめてみた - EAGLE 雑記 つまり、一つのインラインアセンブリ内で扱う変数を少なく*1すればよい。 これが FFmpeg のミ…

やっと正常に make 成功

まぁ何が間違っていたかというと、入力の出力を取り違えるというなんともアホなミスでした。 正しいパッチはこれ。 --- libavcodec/x86/dsputil_mmx.c.orig 2009-03-14 23:19:05.000000000 +0900 +++ libavcodec/x86/dsputil_mmx.c 2009-03-15 19:02:16.0000…

昨日の修正をするまでの思考過程をまとめてみた

また FFmpeg の make が通らない - EAGLE 雑記 の続きみたいな。 昨日はちょっと時間が遅かったので書けなかったけど、忘れないうちにメモ。 間違っている箇所があったら指摘してくれるとありがたいです。 今回使用したのは gcc 4.3.2、CPU は Intel(R) Core…

また FFmpeg の make が通らない

MMX を有効化すると libavcodec/x86/dsputil_mmx.c をコンパイルできない。 gcc のエラーメッセージはどばーっと大量に出るんだけど、根本的な原因はたぶんこれ。 In file included from libavcodec/x86/dsputil_mmx.c:31: libavcodec/x86/mmx.h:24:2: warni…

ちょっと修正

簡易マイミク更新チェッカー - EAGLE 雑記 なんか一部無駄なことをしていたので修正。 @@ -63,7 +63,7 @@ # post datetime dt = li.at('dt').text.toutf8.strip if date_re.match(dt) - dt = Time.local(*[$1, $2, $3, $4, $5]) + dt = Time.local($1, $2, $…

簡易マイミク更新チェッカー

手動で更新チェックは面倒なので。 nokogiri でごりごり html を解析している。 ruby1.8 でも ruby1.9 でも nokogiri さえ入っていれば動くはず。 使い方としてはまぁ見ての通りで、最初に yamlpath のところに email: foo@example.com password: xxxxxxxx …

mixi も始めてみた

http://mixi.jp/show_friend.pl?id=22215380 こっちとどう書き分けるか思案中。 基本的には、ほかの人が見ても割と役に立つかもしれないものはこっちに、そうでもないものはあっちに書くようにしようとは思う。

ランダムな ASCII 文字列を作る

これから適当な短いコードを書くときには snippet というカテゴリにしよう。 Create a random password encrypted with md5 with custom lenght Using awk, echo, md5sum これを見て、そういや以前適当にランダムな ASCII 文字列を作るスクリプトを書いたな…

Social IM がだいぶ改善されてた

Mac

http://d.hatena.ne.jp/eagletmt/20090302/1236000607 のつづき。 今は 1.05 を使ってみている。 一番最初に公開されたときからかなり改善されていて、F6 でひらがな、F7 でカタカナ、Shift + Space で半角スペースといったよく使う機能が実装された。 そし…

switch (enum)

typedef enum { FOO, BAR} Type; void hoge(Type t) { switch (t) { case FOO: do_something(); break; } } こんなコードを書いてコンパイルしたときに、こんな警告が出た。 % gcc -Wall hoge.c hoge.c: In function ' hoge' : hoge.c:226: warning: enumera…

GNU tar 1.22

なんか WBC の試合結果が全く予想外の結果だったなぁ。 勝ったから嬉しくはあるんだけど、なんだかなぁ。 GNU tar 1.22リリース gzipより圧縮効率が大きく向上した「xz」をサポート:CodeZine(コードジン) XZ って何かと思ったら LZMA のことなのね。 XZ …

cd を置き換える

Command-line-fu より。 Redefine the cd command's behavior Using cd これは俺も似たようなことをやっているなぁ。 俺の場合は function cd() { builtin cd $* && ll } なんだけどね。 cd の次に ll を打つことが多くて、cd を置き換えられないのかなー、…

魔法戦記リリカルなのはForce / 魔法少女リリカルなのはViVid

【漫画】『速報 なのは四期はコミックで!』 娘TYPEで「魔法戦記リリカルなのはForce」連載決定 1 :ケタミンφ ★ [↓] :2009/03/06(金) 17:53:40 ID:??? http://yunakiti.blog79.fc2.com/「娘TYPE vol.01」4月30日(木)発売表紙&最速スクープ 「劇場版リリ…

RTC から時刻を取得して表示

asm

まぁ Hello World! だけではつまらないなと思って。 ひたすら ah=0x02, int 0x1A で RTC を読み出して表示する。 各値は BCD という表現で格納されている。今まで聞いたことすらなかった。 http://ja.wikipedia.org/wiki/BCD ふむ、こういう場合にはむしろ扱…

BIOS で Hello World!

asm

bochsを使ってHello World! - ラシウラ このエントリを参考に、これとはちょっと違う方法で BIOS で Hello World!を出力してみた。 アセンブラは yasm、実行には Q.app(qemu) を使った。 org 0x7C00 ; start address for BIOS start: ; get current cursor p…

Google の検索結果に delicious のブックマーク数を付け加える GreaseMonkey スクリプト

XMLHttpRequest だとクロスドメインにリクエストできないらしい。 GreaseMonkey の場合は GM_xmlhttpRequest でクロスドメインに非同期的にリクエストできる。 それのサンプルとしてタイトルにあるようなものを書いてみたんだけど、MD5を求めるのにHugeDomai…

Javascript のスコープとか参照とかクロージャとか

Javascript にはブロックスコープというものは無く、var による宣言は常にその関数の先頭で行われたことになる 値渡しか参照渡しかは引数がオブジェクトかどうかで決まる ある関数内で変数が見つからないとき、その外側の関数のスコープを再帰的に調べていく…

GreaseMonkey を入れてみた

なんかものすごく今更なのだけど。 Firebugで作るGreasemonkeyスクリプト〜入門と実践(From Kanasan.JS) | Blog.37to.net これを読んで導入してみようかなと思った。それと同時に Javascript にも慣れようと。 とりあえず Google Image Search の検索結果を…