Google Readerを便利にするGreasemonkeyスクリプト

Via http://www.readwriteweb.com/archives/greasemonkey_scripts_for_the_s.php非常に便利なのでまとめて紹介。 http://userscripts.org/scripts/show/12601 "1000+"の代わりに実際の未読数を表示する。 Google Readerは未読が1000を超えると、未読"1000+"…

Martin FowlerによるまるごとDSLについての本 DSL Book

DSL

http://martinfowler.com/dslwip/ 楽しそう。

memcachedは何故libevではなくlibeventを使っているのか?

libev? 多くの人がlibevの方がlibeventより早いし安定していると言っているのを聞くし、 3倍速いことを示すベンチマークも見た。libevにする予定はある? という質問に対しての回答。 libevには半信半疑なんだ。pollerの指定をいろいろやる必要があるし、 gra…

OOコード養成ギブス

OOP

Binstock on Software: Perfecting OO's Small Classes and Short MethodsThe Pragmatic Programmersシリーズの新しい本、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の…

Leopardでグループいじるときはdsclコマンド

Mac

http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/dscl.1.html はぁ。

[Mac] Firefox3でのAquaSKKとことえりで常に半角スペースを入力をする話

AquaSKKがFirefox3でうまく動かないので一時的にことえりに戻した。 日本語入力時にスペースが全角になるのが嫌だったけど 簡単に直せた。 使えるdefaultsを書き込め Leopard限定。 ことえりでスペースを半角に。 $ defaults write com.apple.inputmethod.Ko…

KeyRemap4MacBookがEmacs,Terminalでも快適に

Mac

http://www.pqrs.org/tekezo/macosx/keyremap4macbook/index.html.ja 開発中のバージョンですと Emacs や Terminal, X11, VMware, Parallels などでは 自動的に EmacsMode を無効にするような機能が組み込まれていますので、 こちらをお使いください。 との…

[GoogleReader] Google Readerのいいところ

押しっぱなしでも目で終えるくらいの速度でしかスクロールできない。

Linuxの方がイラつかないのになんでMacを使ってるんだろ?

今日もコード書いているときにOS Xに特化した問題が出て作業がとまった。 OS Xで変な動作、LinuxでOKというのは結構多い。 じゃあなんでOS X使うんだろ。ほとんどのオープンソースなソフトウェアはLinuxがネイティブ環境だし、 Linux上でのテストしかやって…

[GoogleReader][LivedoorReader] Google Reader が早くなった

気がする。 Firefox 3 が早いだけかも。 とりあえず Livedoor Reader を使う理由はほぼなくなった。

memo

Firefox Safari Stand Aqua SKK iTerm Colloquy Adium Carbon Emacs Gmail notifer MacPorts apache2 ccache mysql5-devel innotop py25-lxml py25-sqlalchemy py25-twisted python25 python30 sqlite3 subversion wget zsh-devel Quick silver Witch Growl …

野良PortsはMacPortsにPortfileを送るべき

野良Ports これってMacPortsのほうにPortfile送るべきじゃないかな。 一時的な置き場所としてならいいかもしれないけど。 活発な活動をしているようであれば、だれかがメンテナになって窓口になるとかね。

Google Reader と Livedoor Reader(Fastladder)

5回くらい交互に鞍替えをしている。今のメインはGoogle Reader。 はじめに総括しておくと、Google Readerは未読の保持、検索が便利。Livedoor Readerは圧倒的な軽さとピン。 以下感想。 速度 圧倒的にLivedoor Readerが早い。3000フィードくらい登録している…

Django本出た

お、本の方が先に出た。 http://www.amazon.com/Definitive-Guide-Django-Development-Right/dp/1590597257

Djangoの初めてのリリースバージョンは2.0?

Djangoの初めてのリリースバージョンは2.0になるかもしれないらしい。 Google グループバージョン番号を急にあげるのは、気持ち悪いし印象もあまりよくないので個人的には嫌だ。 リスト上でもRailsを意識してると思われるんじゃないか、というコメントがあっ…

MacでPython3k (or X-MAC-JAPANESE codecの作り方)

Mac使っている人はどうやってPython3kにコンパイルをやってるんでしょうか。とりあえず、下のようにしてからコンパイルすると通る。 詳しい人情報求む。 # http://python.org/download/svn/ $ svn co http://svn.python.org/projects/python/trunk python-sv…

追随

http://use.perl.org/~miyagawa/journal/34461 また真似してUser-Agentの変更とhandlerの指定を出来るようにした。UserAgentの変更がうまくいっているかをdebuglevelが1のHTTPHandlerをつかって 確認する例。 #!/usr/bin/env python2.5 #-*- coding: utf-8 -…

lxml 2.0alpha2 released

http://permalink.gmane.org/gmane.comp.python.lxml.devel/2956 http://codespeak.net/lxml/dev/changes-2.0alpha2.html lxml · PyPI http://codespeak.net/lxml/dev/

Web::Scraper 0.14 released

http://use.perl.org/~miyagawa/journal/34457 また便利になってる。 相対URIは絶対URIに自動変換 (img@src, script@src etc) 便利なショートカット、HTML,RAWの追加 2の方はすでにクリアしてるので1の方はPython版でもlxmlのmake_links_absolute()で自動変…

Scraping Yahoo! Search with Web::Scraper in Python

次はhttp://menno.b10m.net/blog/blosxom/perl/scraping-yahoo-search-with-web-scraper.htmlと同じことをやってみる。比較しやすいようにPerlのコードも並べてみた。 コードの量も見た目もあんまり変わらない。 Perlは括弧がなくてすっきり、Pythonの方はセ…

lxmlメモ

HTMLパースするときにはlxml.htmlを使う etree.parse(url, etree.HTMLParser())みたいにParser明示的に書かなくてもOKだし、便利なメソッドも使える。 etree.parse(URL)と書かず、自分でurlopen & decode parse(URL)と短く書けるようになってるけど、UTF-8じ…

scraperにscraperを渡せるようにした

Web::Scraper の"Twitter Friends (complex)"ができるようになった。 s = scraper( process('span.vcard', people=scraper( process('a', link='@href', name='@title'), process('img', thumb='@src') ) ) ) 下のパッチ加えただけ。 + elif hasattr(val, 's…

Web::Scraper in Python hacks #2: Extract javascript and css content

http://use.perl.org/~miyagawa/journal/34398第二弾。普通にtextで取れた。 s = scraper( process("script", js="text"), )

リストや辞書の中のUnicodeを表示

Google グループ 昨日書いた、「Pythonはリストや辞書の中にある日本語をそのままprintで表示できない」という問題の解決方法が紹介されていました。 print (repr(s.scrape('http://d.hatena.ne.jp/keyword/%BA%B0%CC%EE%A4%A2%A4%B5%C8%FE')).decode('unico…

Web::Scraper in Python hacks #1: Extract links linking to images

http://use.perl.org/~miyagawa/journal/34325の真似をできるようにした。 #!/usr/bin/env python2.5 from scraper import scraper, process import codecs, sys sys.stdout = codecs.getwriter('utf-8')(sys.stdout) s = scraper( process("//a[contains(@h…

Web::Scraper in Python (もしくは scrAPI in Python)

lxml2.0からCSSSelectorが導入されたので、Web::Scraperのようなものを作ってみました。 とりあえず動作するところまでいったので載せておきます。機能はまだ全然足りてないので、簡単なことしかできません。 Python2.5とlxml2.0alpha が必要です。Pythonは…

コメントをさらすユーザースクリプト

ちょっと必要な場面があったので作った。 // ==UserScript== // @name Comment Exposer // @description Make all comments visible // ==/UserScript== (function() { var textnodes = document.evaluate( "//comment()", document, null, XPathResult.UNOR…

Python3000 alpha リリース、そしてインストールが失敗

Python 3.0a1 Release http://python.org/download/releases/3.0/ おめでとうございます。 MacPortsでもすでに用意されているようです。 $ port search python3 python30 lang/python30 3.0a1 An interpreted, object-oriented programming language あ、por…

MySQLのドキュメントの翻訳が酷すぎる

MySQL5以降で SYSDATE() 使うと大抵の場合は遅くなる - ニフラムで消せる相手は自分くらいです 勉強になったけど、引用されている部分日本語おかしくないか? SYSDATE() は、それが実行された時間を戻します。これは NOW() の動作によって異なり、ステートメ…

PHPでDjangoライクなデータベースAPI

を作ったという話ではなく、作りたいなという話。 とりあえずdjango/db/models/base.py あたりからコードリーディング開始。 PythonもDjangoもよく知らないので先は遠い。 QuerySetまで見た。Join絡むともうだめだ。 すなおにDjango使えという声が聞こえた気…