yaotti's diary

Software is Eating the World

2008-01-01から1年間の記事一覧

feedparserの使い方

feedを解析してDOMをxpathっぽく使えるpythonのライブラリ。 feedparser.parse(url) keys()で使えるタグを調べられる

レバレッジ勉強法を読んで

やっと見つけた。。 レバレッジ・リーディングで学んだように以下に気をつけて読んだ。 目次を何度もよく読む すべてに目を通そうとしない、今の自分にとって必要な部分だけ読む 読みっぱなしにせず、メモを積極的にとる 以上に気をつけたら、メモを取りなが…

emacsから投稿テスト

simple-hatena-modeを使って投稿してみる。 できてるかなー

pythonでdedent

集合知プログラミングを読み初めた。 大学の講義で習った機械学習などの理論を実際どう使うかが書かれていておもしろい。 使用言語はpythonなのでEmacsにpymacsを入れ、pythonのリファレンスを読みつつ進めているところ。 pymacsは Pymacsを使ってPythonでEm…

PythonのリファレンスをEmacsから見る

1.infoファイルをPython 和訳ドキュメントからダウンロードする(ver2.4なので少し古いかも)2.解凍して、Info-directory-listに含まれる適当なフォルダに入れる3.python-mode.elの最後の、以下の部分を編集 (python-libをpython-lib-jp.infoに変更する) (when…

cutの使いかた

Gaucheで、 (map (lambda (x) (* x x)) '(1 2 3)) をcutを使うなら、どう書けばいいんだろう。 cut内で特定の引数を2回以上使いたいってことなんだけど。 (let ((sq (lambda (x) (* x x)))) (map (cut sq <>) '(1 2 3))) ;;pa$を使えばこう ;;(map (pa$ sq) …

Rejectセキュリティキャンプについて

Rejectセキュリティキャンプ(RejectのRはR言語のR)の主催者であるid:syou6162がアンケートぽいのしてるので書く。 普段どういうことをやっていて、どういう知識なら持っているのか 普段やってること:丸括弧と遊んでる。何か決めた方向でやってるわけじゃな…

schemeの内部状態変数

テストで出た問題。Question (+ (f 0) (f 1))において、引数が右から(つまり(f 1)から)評価されるときは1を、 左から評価されるときは0を返すようfを定義せよ。Answer (define (make-func) (let ((pre-val 1)) (define (func x) (set! pre-val (* pre-val x)…

gitはじめました

git

lambda reposのcommit権をもらったときに、naoya_tさんが「lambda reposのサーバはgitも使えますけど需要ありますかね」と言っていたので、「gitの時代か!」などと思いgitについて調べたりgithubのアカウント作ったりしていたら、いつのまにかlambda repos…

GoogleTechTalk@Kyoto

行ってきました。 以下まとめ Google mobile product 若狭 建 ・なぜモバイルか? ・Googleモバイルプロダクト ・Android ・なぜ 世界で携帯ユーザは30億越え (PCユーザー15億)→すべてのGoogleプロダクトをモバイルへ ・google mobile product 日本発google急…

schemeグループ

schemeの勉強記録はこっちに書いていく。 http://scheme.g.hatena.ne.jp/ 知識の整理に。

レバレッジ・リーディング

レバレッジ・リーディング作者: 本田直之出版社/メーカー: 東洋経済新報社発売日: 2006/12/01メディア: 単行本(ソフトカバー)購入: 33人 クリック: 420回この商品を含むブログ (547件) を見る積読が多いので、本の読み方というのは気になるところ。 以下簡…

ソースコード解析にEmacsとcscope

c

twitterでEmacs+cscopeがいいと聞いたので入れてみた。 sudo port install cscope cd <解析したいコード群のあるディレクトリ> cscope -qRこれでokEmacsから使うにはこれをロードパスの通ったところに置き、.emacs(or .emacs.el)に (require 'xcscope) と追…

標準ライブラリ

cの標準ライブラリのソースを読んでみる。 wikiでページ作るかな。まずはincludeのないcdef.hから順番に。

gaucheのstreamについてメモ

たぶん追記していく。 stream便利だなぁ。無限の必要なとこだけ使うという感覚が好き。 (use util.stream) write-streamはストリームの要素が文字の時しか使えない →数字のときはstream-ref使って手続き作ればいいか sicpではcons-streamとなってるけどgauch…

Gauche0.8.13をさくらのレンタルサーバ(ベーシック)へインストール

せっかくサーバ借りてるので、入れてみる。 kahuaも入れる予定。 ここを参考にさせてもらいました。というかほぼそのまんま。 とても助かりました。 http://d.hatena.ne.jp/scinfaxi/20070518/1179468568 まずここでGauche-0.8.13.tgzをダウンロード。サーバ…

lambda

(((lambda (a) (lambda (b) (- a b))) 10) 5) 結果は5。 ふーむ。

Kanasan.jsサイ本読書会#4

参加してきた。kanasan.js初参加。今回は9章から12章終わりまで。 以下メモ。 jsでクラスを定義する=コンストラクタ関数を定義する クラスというものはない、コンストラクタやprototypeでそれっぽいのができる コンストラクタにメソッド書くとオブジェクトに…

インクリメント

c

#include <stdio.h> #include <stdlib.h> main(void) { int c, i, j; int *buf; buf = (int *) malloc(sizeof(int)*5); for (i=0; i<5; ++i) buf[i] = i; j = 0; while (j < i) { printf("j: %d ", j); printf("%d: %d\n", j, buf[j++]); /* ここ */ } } 実行結果 j: 0 1: 0 j: </stdlib.h></stdio.h>…

タグジャンプ

elisp書きたいなーと思ってemacs lispを読み始めた。知ってると便利なことをメモ。 キーバインド read onlyでファイルを開く→C-xC-r 開いているバッファをread onlyにする→C-xC-q(解除も同じ) etagsの設定 etagsを設定しておくと、M-.でその関数の定義まで飛…

手続き

(lambda (amount) (if (<= amount balance) (begin (set! balance (- balance amount)) balance) (error "Insufficient balance" balance))) は評価してもエラー出なくて (if (<= amount balance) (begin (set! balance (- balance amount)) balance) (error…

作業

mac

よい方法を見付けたのでめも iCalにイベントとしてやることを時間単位で入力→OmniGrowlでアラート 何か思いついたとき、今必要でないけど調べたいものはすぐにThingsに記録 hot keyでどこからでも記録できるのでよい。hot keyはcmd+ctrl+spaceに割りあててい…

この2つの違い

c ?

char tmp1[10]; char *tmp2 = malloc(10); tmp1は長さMAXNUM(cは1つ1バイトなのでMAXNUMバイト)の配列 tmp2はMAXNUMバイトの領域を指すポインタ printf("%d\n", sizeof(tmp1)); printf("%d\n", sizeof(*tmp2)); 結果は前者は10、後者は1。 tmp2はまだ領域を…

emacsで簡単に関数リファレンスを見る

1. http://www.gnu.org/software/libc/manual/ の一番下のTexinfoをダウンロード&解凍(tar -zxvf libc-texti.tar.gz) (libc = Linux C Library) 2. makeinfo libc-texinfo 3. できたファイルを~/infoなどに置き、以下を.emacsに追加 (require 'info) (setq I…

C言語のポインタ

c

ポインタ理解しようとがんばってます。 以下がなぜかエラー(bus error)になる。 #include <stdio.h> main(int argc, char *argv[]) { int a[10]; int *p; a[0] = 1; *p = 1; /* pの指す先に1を指定、なはず */ //p = 1; /* これはアドレスとして1を指定するのでおかし</stdio.h>…

CarbonEmacsアップデート

したら.emacsまわりでエラー。 どうやら元にしたソースがemacs21.5→22になってるらしい。結構違いがありそう。 現在調査中。[追記] 原因は/Application/Emacs.app/以下にelisp置いてたせいだった。 そらだめでしょうということで~/.emacs.d/以下に自分で追加…

SICP読書会&異業種交流会

SICP読書会と異業種交流会に行ってきました。 SICP読書会 読書会は今回が第一回でした。個人的にも初めての勉強会。 主催者のid:snow-bellお疲れさまです。 関西でSICP読書会が開かれるとは。snow-bell++ 今日は13ページぐらいまで。ニュートン法に入るかど…

Gaucheで今日理解したこと

ちょっとしかしてないけど。モジュールニツイテ (use gauche.interactive) (apropos 'module) てやるとわかるんだけど、 (all-modules) (current-module) なんていう関数がある。 それぞれ、 現在存在するすべての名前つきモジュールのリスト コンパイル時の…

Terminal内でCarbonEmacs

mac

nwオプションを付けて起動する。 /Application/Emacs/hogehoge/Emacs -nwこれでpartty.orgでEmacsのコーディングを保存できる。ただ、 Metaキーとしてcmdが使えない。 色が気持ち悪い これはなんとかしないと。

listとquoteの違い

(find (cut eq? '+ <>) (list '+ '- '* '/)) (find (cut eq? '+ <>) '('+ '- '* '/)) この2つ、挙動が違う。 上は+が返ってきて、下は#fが返る。 なんでかなーと思って調べたところ、 gosh>(list 'a 'b) (a b) gosh>'('a 'b) ('a 'b) quoteだと中身は評価さ…