proglog

主にプログラミングに関する断片的メモ

sxml、sxpathの使い方をメモ

sxpathは、xpath式を評価して、ノードを取得するクロージャ−を返す。 そのクロージャ−は結果を、sxmlのリストで返す。 ヒットするものが一つでも。 式がヒットしなかった場合は()が返る。 (use sxml.ssax) (use sxml.sxpath) (define xml-data "<html> <body> <h1>xml xmpath</h1></body></html>…

識別子で驚かないために

Schemeを触りはじめて、その識別子の構成の自由さにびっくりした。 というか、識別子なのか、何か文法上の特別な記法なのか、パッと見では混乱することがある。そこで、r5rsを見て、ちょっと整理。 よく分からないのもあるけど。 ;;schemeで可能な識別子 ;;!…

Kahuaをcygwinにインストールしてみる。

結論からいうと、なんとなく、動いてる感じ。 取り敢えず、 サンプルアプリケーションのlambda-booksにログインして、レビューを書いたら反映された。 同じくwiki-ikiで新規ページを作成して日本語で書き込めた。 、ってとこまで。以下は作業記録 cygwinは1.…

howmsplit:引き数処理に継続を使ってみる

gaucheによるディレクトリ、テキストファイル処理。関数の引き数で、定義域から外れるものが渡されたら、すぐさま例外を投げて終わる、みたいなこと。今回は、エラーメッセージの表示と組み合わせてみることに。これを継続を使って書いてみる。変わったのはm…

howmsplit:ファイル名、文字コード

だいたいの雛形。 sjisのcygwin、そのcygwin上のgauche、utf-8のソースで処理対象ファイル名に日本語が含まれているケース。指定されたディレクトリ以下のhowmの1日1ファイル形式のファイルを読み込んで、拡張子をテキストにして出力。 howmファイルはsjisで…

可変の引き数を取る関数の定義

いろいろスタックに積んでいて、今 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Daysの 14.2 Scheme における amb の実装を読んでた。なにやらマクロが出てくるけど、その中で、 (define-macro amb (lambda alts... `(let ((+prev-amb-fail amb-fai…

el4r、bloggerspotでlivedoor blogにpost

windows xp、Meadow3とcygwin 1.7という環境で、el4r、BloggerPostを使って、ライブドアブログにポスト出来るかやってみた。 これが出来ると随分と楽なんだよなあ。基本的なものは、 BloggerPost: BloggerPost から。 el4r 〜EmacsRubyで楽しいEmacsライフ〜…

tomblooのタグ入力欄のフォントサイズ

僕の環境では、これの文字サイズが小さくなってしまって、ほとんど判読できないくらいになってしまう。 そこでちょっといじった。 (プロファイルフォルダ)extensions/tombloo@brasil.to/chrome/content/quickPostForm.cssこれの #tags box.completion{ font-…

howmsplit:ディレクトリ、fold系

findコマンドの部分をscemeで書くとしたら、file.utilに入ってるdirectory-foldというのを使うとよさそう。 Function: directory-fold path proc seed &keyword lister follow-link?説明を見ると、ほとんどfindコマンドそのもののような感じ。 ディレクトリ…

寄り道継続。処理系による?

schemeの継続について、今把握してることのメモ。 ざっくりとしたもの。 継続とは、call/ccが置かれた、その次の処理。 call/ccはそれを、継続という関数的なものにする。 継続に渡されるのは、call/ccに入った瞬間の環境 言ってみればスナップショット。だ…

howmsplit:コマンドライン、正規表現

現在、howmのメモは、 メモルートディレクトリの下に年次のディレクトリ。 その下に月次のディレクトリ。 その下に1日1ファイル。 という構造になっている。年次ディレクトリを指定したら、その下にあるファイルを全て処理して欲しい。 このディレクトリ処…

howmファイルの切り分け:日付とファイル名

1日1ファイルのhowmのファイル名は現在、2009-04-15.howmとかいう、「YYYY-mm-dd.howm」という形式。 各メモのヘッダ行直下には「[2009-04-15 01:25] 」という、「YYYY-mm-dd HH:MM」でタイムスタンプが入っている。(タイムヘッダとする。) ここから「2009-04-15-…

howm1日1ファイルの切り分け - その2

この続き。ありがたいことに、コメントでアドバイスをして頂いた。 そして模範解答も。 もったいないので、整形した形でここに転記させて頂こうと思います。 shiroさん、ありがとうございます。 (use srfi-13) (define (howmsplit file) (with-input-from-fi…

howmの1日1ファイルを切り分ける。

継続がよく分からなくて、しばらくそのままにしておいたschemeを再開。 ファイル処理辺りからが実用的でいいかも。 で、howmの1日1ファイルのメモを切り分けるプログラムを書きながら勉強してみようかと。やることは単純で、行頭の"="を見たら、新しいファ…

Livedoorクリップのタグを書き換える。xml、json、XMLHttpRequest

windows xp、Firefox3.6、拡張機能のMozRepl、meadowのjs2-modeとmozrepl用のマイナーモードmoz.elという環境下で、色々勉強のためにLivedoorクリップのタグを書き換えるスクリプトを書いてみた。 その途上で分かったこと色々をメモ。XMLHttpRequestでローカ…

TotalToolbarとフルスクリーンモード

TotalToolbarの設定で、ツールバーをフルスクリーンモードで表示させることができた。 ステータスバーの両端もツールバーに変化するので、同じく全画面表示の時に表示させられる。ただ、ツールバー部分が現れるのは、画面の上端にカーソルを持っていった時。…

Open Selection.se.js

firefoxのuserChrome.js下で動くuserMenu.jsを導入。 右クリック、コンテキストメニューに色々機能追加する。が、一番の目的だった、デフォルトでバンドルされてるOpen Selection.se.jsが、なんだかうまく動かない。 いろいろいじくってみたけど、なぜか、in…

Read It Later from LDR.user.js

livedoor Reader から Read It Later に追加する Greasemonkey 書いた - 地獄のサイトシーイングのを、userContent.js下で動かす。 GM互換動作モードに設定すると、なにも触らなくても動作する。そうじゃなくて、GM APIを使うモードで動かす場合。 一番下手…

pdf、foxit reader

firefoxでpdfファイルをクリックすると、foxit readerがどうしても、外部アプリケーションとして立ち上がってしまう。 [オプション]-[プログラム]でプラグインを選択してもだめ。acrobat readerをアンインストールしてからこうなった気がする。 それまでは、…

全画面表示で検索

firefoxの全画面表示の時でもctrl+lでロケーションバーの小窓が開く。 そこから、スマートキーワードでgoogle検索とかができる。 表示は、ちゃんと新しいタブが選べる。

はてブのページで、コメントをインラインで表示するgreasemonkeyのスクリプト。 2006-11-20 - いぬビームのhb_comment_view.user.js。33行目当たりを var uri = 'http://'+unescape(m[1]); はてなブックマークコメントその場で表示ライブラリとは - はてなキ…

AiO-sidebarの代わり

僕の使い方では、 mozdev.org - totaltoolbar: indexを、 All-in-One Sidebar の後継らしい TotalToolbar v1.4 FOX x FOXに従って、ツールバーを縦に置く。 そして、今までAiO-sidebarにのっけてきたいろんなボタンを載せ変える。 そして、custom buttonsの …

GRとtombloo

google readerでtomblooを使う時のuserscript。 greasemonkey/googlereadertombloo.user.js at dd1e3d6270e1a6a2af3a80ddf20f143479a57e4c from to's tombloo - GitHubこれをuserContent.js下で動かす。メタデータに追加 // @privilege true30行目当たりの v…

GM互換モードにすると、forループの中でletを使うと;が無い、とかいうエラーが出るようになった。 varでやると動くけど。 なんだろう? for ( let i = 0; i < max; i++) {}for ( var i = 0; i < max; i++) {}

userContent.jsとLDR Full Feed

userContent.js下でLDR Full Feed0.0.23が、いくつかの変更で動いた。 基本的には、greasemonkeyの@requireと@resourceの機能を使わないように、書き換えるだけ。CSSを直接書き込む。ICONはbase64で書き込む。それに応じてicon_dataの行をちょっと変更。@req…

slibのアンインストール

windows版の話。 アンインストーラーを使わずに、ディレクトリを削除してしまった。 slib-3b2-1.exeをインストールしようとすると、「すでにslib-3b1-1.exeが入ってます。まずこいつをアンインストールしてね」って言われる。 で、 レジストリの以下のキーと値…

3.0 devをvc++ 2008 EEでビルド成功

なんの修正もせずにあっさりビルドできた。 OSはXP pro sp3 これにcygwin Visual C++ 2008 Express Editionは、 Microsoft Visual Studio 2008 Express EditionSmartSVN moriBlog ? Blog Archive ? GUIで簡単SVN -- SmartSVNが便利でソースを落とした。 Mead…

readerのスクロールとフォーカス

google readerのpgdownとかpgupによるスクロールにカーソル位置というか、記事のフォーカスが追随するようなgreasemonkeyのスクリプトとかアドオンはないかな。 それとも基本的に、使い方がおかしいんだろうか。リストモードで画面ごとにスクロールさせてい…

バックグラウンドの通信

まっさらなfirefox 3.0で、ブランクページを表示してても、jp-in-f101.google.comとかjp-in-f147.google.comとかその他そんな感じのとこと接続してるのは一体なんだろう?

ビルド成功?:Revision 4259

vc++ toolkit 2003で。とりあえず、nmake.mw32.defs (libc)を、libcmt.libからlibc.libに戻す。 あと、2ヶ所ある-MTフラグを-MLにする。 んで、bootstrapをすっ飛ばし、 nmake all nmake install で取り敢えず出来てる、ような気がする。configureは、 conf…