2011-12-01から1ヶ月間の記事一覧

curlでbasic認証を通る

http://curb.rubyforge.org/classes/Curl/Easy.html open(out_fname, 'w+') do |out| Curl::Easy.perform(url) do |easy| easy.http_auth_types = [:basic, :digest] easy.username = 'shokai' easy.password = 'homuhomu' easy.on_body do |data| out.print…

ダウンロード速度が遅かったらやめる

http://curb.rubyforge.org/ Ruby+Curlで大きなファイルをダウンロードしつつ、速度を監視して遅かったら切断する。 ダウンロード速度はだんだん上がってくるものなので、開始後しばらくは遅くても切断しないようにした。 普通にeasy performしても大量のwar…

nまでの素数を求める

みょうにシンプルにできたので書いておく ruby -e 'p 2.upto(ARGV[0].to_i).to_a.delete_if{|i| 2.upto(i/2).to_a.detect{|j|i%j == 0} }' 2000[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103…

mecabインストール

sudo apt-get install mecab-ipadic-utf8 mecab Rubyバインディングはあってもあんまり意味ない気がするので、使わないでおこうmecab-split-term.rb #!/usr/bin/env ruby def mecab_parse(str) `echo '#{str}' | mecab`.split(/[\r\n]/).map{|i| i.split(/\t…

openssl1.0が落ちる

Rubyを入れなおした直後からこういうエラーがでるようになった openssl/ssl-internal.rb:30: [BUG] Segmentation fault openssl1.0とリンクしたRubyをビルドしてしまうとこうなるらしい。 http://www.cozmixng.org/~w3ml/index.rb/rabbit-shockers/msg/793Ma…

node.jsとcoffee-scriptインストール

cd ~ git clone https://github.com/creationix/nvm.git ~/.nvm . ~/.nvm/nvm.sh nvm install v0.6.2 nvm alias default v0.6.2[[ -s "$HOME/.nvm/nvm.sh" ]] && source "$HOME/.nvm/nvm.sh" export NODE_PATH=/usr/local/lib/node_modules:$HOME/node_modul…

mongoidで"db_name must be a string or symbol (TypeError)"

sinatra+mongoidで、 http://mongoid.org/docs/installation/configuration.html にあるようにmongoid.ymlを作って Mongoid.load!("path/to/your/mongoid.yml") で読み込ませて、modelをnewした時点で"db_name must be a string or symbol (TypeError)"が起…

catしきれない時はxargsを使う

booksディレクトリ下の*.txtを全て標準出力経由でrubyのプログラムに渡したい時 cat books/*.txt | nkf -u | ruby -Ku make_dict.rb > dict.txt これでいいのだが、ファイルが多いと "argument list too long" と言われてしまう。 xargsとfindを使ったらでき…

Macのapache+passenger+sinatra環境でcoffee-scriptを使う

この、sinatraでcoffee-scriptを使ってるアプリをMac(Leopard)のapache2で動かす。 https://github.com/shokai/sinatra-template まずコーヒーをいれる brew install coffee-script gem install coffee-script which coffeenode等も入る。これで、自分でruby…

LaTeXフォーマットがshift_jisなのでutf8に変換した

brew install nkf ruby convert_utf8.rb /path/to/source /path/to/dest convert_utf8.rb #!/usr/bin/env ruby if ARGV.size < 2 STDERR.puts "ruby #{$0.split(/\//).last} /path/to/source /path/to/dest" exit 1 end src = ARGV.shift dest = ARGV.shift …

あまりおぼえていない

3つぐらいの話がつながってた気がする