2008-11-01から1ヶ月間の記事一覧
#!/usr/bin/env ruby puts 'backup start' hosts = { 'shokai.org'=>'username1', 'zanmai.com'=>'username2' } hosts.each{ |host, user| puts "...sync with #{user}@#{host}..." puts `rsync --progress -t -z #{File.dirname(__FILE__)}/* #{user}@#{hos…
followerのメール通知が漏れているような気がしたので、followし忘れている人を調べる basic認証はopen-uriで open(http://zanmai.com/asdfasdf, :http_basic_authentication => [@user, @pass]) こうすると入れる twitter-follower-following-diff.rb #!/us…
method(:関数名).call(引数)とシンボルで渡すものだと思ってたけど、stringで関数名を渡してもいけた > o = Object.new => #<Object:0x1cea8f0> >> o.methods => ["inspect", "pretty_print_inspect", "to_yaml", "taguri=", "clone", "method", "public_methods", "instance_v</object:0x1cea8f0>…
http://d.hatena.ne.jp/shokai/20081126/1227721485 の続き。SimpleConsoleで手軽に使える1行メモ帳を作った http://www.bitbucket.org/shokai/mem/overview/ コマンド引数からControllerを選んでViewに流すしくみはSimpleConsoleが作ってくれたので、model…
~/.config-test # .config-test # please fill in fields # # name: your-name # mail: asdf@jkl.com # name: shokai mail: asdf@jkl.com ~/.config-yamlを読む、無ければテンプレートを作る require 'yaml' @@template = <
こっちがmacのpython2.5用のsslの sudo port install py25-socket-sslこれでhttpsにpushできる python-sslの方はpython2.4用?
Rubyのコンソールアプリ作成フレームワークを使う SimpleConsole - Building Console Apps 満足せる豚。眠たげなポチ。:コンソールアプリケーション用 Ruby フレームワーク SimpleConsole を使ってみた sudo gem install simpleconsoleSuccessfully installe…
sudo apt-get install git-core which git[core] excludesfile = /home/user/.gitignore より/home/sho/.gitconfig 編集 [core] excludesfile = /home/sho/.gitignore /home/sho/.gitignore *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store *.sw[po] t…
http://d.hatena.ne.jp/n9d/20080331/1206945041 を見たらワンライナー作りたくなった。 ruby -e 'dirs = Dir::entries("./"); for dir in dirs; puts dir.gsub(/_/, " ") end;' ちょっと必要だったので初めて書いた。zshのhistroyに入っているので確かに便…
最近、修論のためにキーワード検索してまとめてダウンロードしてきた論文などファイルを、いらなかったら消して、いるものは別のディレクトリに移動させて選別している。論文50個選別し終わるまで集中するためのワンライナー作った。 50個選別したらgrowlで…
sudo gem install rfeedfinder feed-normalizer opml
~/.profileを編集 export PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:$PATH macportsでインストール sudo port install pTeX dvipdfmx ghostscript ghostscript-fonts-hiragino which platex-utf8 which dvipdfmxhttp://d.hatena.ne.jp/shokai/200…
http://member.zebo.com/Main?event_key=USERSEARCH&action=ns&keyword=car&tab=review&rPage=1http://reviews.zebo.com/nissan/car?breaker=2
p.49より、HTMLの解析。 pythonではBeautiful Soupを使ってHTMLを解析しているが、RubyなのでHpricotを使う。hpricotは既に3章序盤でHTMLタグ除去にも使ったが、今回はタグの中身を取り出しに深入りしていく。 3章 その2 - 橋本詳解 pylori*style wiki - HTM…
return list.uniqだった所を修正 http://www.bitbucket.org/shokai/collective-intelligence-study/src/tip/03/generatefeedvector-jp.rb def getWordsByKind(node, kind) list = Array.new while node do f = node.feature.split(/,/) if /#{kind}/ =~ f[0]…
日本語データを扱うなら、テキストファイルじゃなくてちゃんとRDBに保存した方が良いですね。区切り文字とかが面倒をかけてきて、今回はクロールしてきたデータの一部を手動で修正してしまった。 できた。→大きいサイズ http://www.flickr.com/photos/shokai…
データ群をK個のクラスタに分けるために、「いちばんしっくり来るK個の重心」を再帰で見つけるK平均法を使う。 このページのインデントわかりづらくてイライラした。 このアルゴリズムは階層的クラスタリングより全然速い。 p.47~48より clusters.rbにkclust…
p.47でK平均法をやっていて、2次元配列(配列の配列)が必要になった。 ループで空の配列を作っているが bestmatches = [[] for i in range(4)] Rubyだと、Array.newの引数で要素数と初期値を指定できる >> arr = Array.new(3, 10) # 要素数3で初期値10の配…
sudo apt-get install libmagick9-dev libmagick++9-dev imagemagick sudo gem install rmagick gemからのrmagickインストールでこける Building native extensions. This could take a while... ERROR: While executing gem ... (Gem::Installer::Extension…
rsync -t -r -z ~/src/ruby/collective/ username@zanmai.com:~/src/ruby/collective/逆にするとssh経由で取ってこれる
sudo port search gitcogito devel/cogito 0.18.2 Git core and cogito tools to provide a fully-distributed SCM git-core devel/git-core 1.5.5.1 The stupid content tracker. stgit devel/stgit 0.14.1 Push/pop utility on top of GIT cgit www/cgit 0…
p.42~44より、blogクラスタの図を描く。 Python Imaging Libraryの代わりに、RMagick http://d.hatena.ne.jp/shokai/20081112/1226502119 を使う。使い方も関数名もほぼ同じなので簡単。あと配列内の一番大きい要素を返すArray.max関数を使った。 http://www…
3章では、hcluster関数(http://d.hatena.ne.jp/shokai/20081112/1226473410)の処理がMacbookだと3分ぐらいかかるので、何度もやりたくない。 でもhcluster関数で作った階層的クラスタをビジュアライズする処理は何度も試行錯誤したいので、irbのloadし直しを…
convertコマンドが増えてる convert -size 100x80 -font '/Library/Fonts/Arial.ttf' label:"AA\nA" label.png画像作れる
p.44より clusters.rbに行列反転を追加 # 行列の入れ替え def rotatematrix(data) newdata = Array.new for i in 0...data[0].length newrow = Array.new for j in 0...data.length newrow.push(data[j][i]) end newdata.push(newrow) end return newdata en…
名前付き引数をインクリメントだと勘違いしてた。 printclust(clust.left, labels=labels, n=n+1) のn=n+1はpythonでは名前付き引数なので、別にインクリメントしているわけじゃなかった。 cluster.rbにprintclust関数を追加 http://www.bitbucket.org/shoka…
単語出現回数のリストを要素(vec)に持つ2分木ノードbiclusterをつなぎあわせて、p.36で解説されている内容が近いblog同士の階層的クラスタを作る。距離の計算は関数ポインタになっていたので、Object#method関数を使って http://www.ruby-lang.org/ja/man/ht…
インストール sudo port install zsh /etc/shellsを編集 # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/zsh /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcshchshで /b…
p.39のhcluster関数の distances = {} if(clust[i].id,clust[j].id) not in distances: distances[(clust[i].id,clust[j].id)] = distance(clust[i].vec,clust[j].vec) がいまいちわからなかったんだけど、よく見たらリストをキーにとるディクショナリ(ハッ…
pinMode(0, true); serialInit(2400); // 通信速度遅め function onSerialReceive(success){ data = serialRead(); for(i = 0; i < data.length; i++){ c = data.charAt(i); // 1文字ずつ処理 switch(c){ case "a": digitalWrite(0,true); break; case "b": …