2008-04-01から1ヶ月間の記事一覧
いつものようにホッテントリにあがっているid:dankogaiさんのページをみていた。『また脊髄反射を…』と思いながらはてブのコメントをチェックしていたところ 2008年04月26日 dankogai dankogai 小飼弾, dankogai, lisp, ruby, perl, c 一番にコメントいれて…
いろんな画像をアップしている手前fotolifeの容量は気になってた。あと1/3になってた。 どうしようと悩んでいたときに月間30MBへ変更。びっくりだ。 日記の方からのアップロードフォルダ指定はなさそうだ。まあ、うれしいことだ。 ありがとう>はてな。
定期的にダウンロードしなくてはならなくて使う気が失せていたビスケットが新しくなってた。http://www.viscuit.com/なんとwebアプリに…でもなぁ。なんかNTT コミュニケーション科学基礎研究所の都合で消えたりするような気配がする。 クライアントの計算資…
折角、説明していただいたのに遅くなりました。 なぜ自己が淘汰される恐怖を持つのかに疑問を持ちました。 今回のブリタニカの件や、レディオヘッドのアルバムダウンロード販売(参考)は、法律的にダンピングとは言わないのだろうが、より規模の小さな出版…
意外に苦労した。 ルーローの三角形:星の向き\\120=0 のときに 星の向き←星の向き+30 ルーローの五角形:星の向き\\72=0 のときに 星の向き←星の向き+12 ルーローの九角形:星の向き\\40=0 のときに 星の向き←星の向き+4ゆえにルーローのn角形は 星の向き\\…
久しぶりにリスト内包表記を使った。 >>(fold (lambda (x y) (if (> x 3) `(,@y ,x) y)) () '(5 1 4 2 3 4 5 5)) =>(5 4 4 5 5)
しまった。一回こっきりなら以下の手があった。 require 'socket' s=TCPServer.open(80).accept s.puts "HTTP/1.0 200 OK\nContent-Type: text/plain\n\nhello,world" +s.gets
たぶん、これが今最小(自分の中で) require 'gserver' class GServer def serve(s) s.puts "HTTP/1.1 200 OK\nContent-Type: text/plain\n\n"+s.gets end end GServer.new(80).start sleep
辞書ファイルは C:\Documents and Settings\n9d\Dictionary\ATOK17\ATOK17U1.DIC $ cd /cygdrive/c/Documents\ and\ Settings/n9d/Dictionary/ $ mv ATOK17 ATOK17_bak $ mkdir ATOK17ここでSHIFT+CTRLを数回押してFEPを再起動する
rubyのgserverでhttpサーバを作る フォームの値を観察する 日本語更に日本語で。 require 'cgi'やったのが負け? require 'gserver' require 'cgi' class HttpServer < GServer def initialize(port=10001, host="127.0.0.1" ,*args) super(port, host, *arg…
こうやるとgetメソッドの引数の変化を観察することが出来る require 'gserver' class HttpServer < GServer def initialize(port=10001, host="127.0.0.1" ,*args) super(port, host, *args) end def serve(io) io.puts <<EOF HTTP/1.0 200 OK Content-type: text/html <form> <input type="radio" name="a" value="abc" checked >1 </eof>
rubyのthreadとgserverで複数サーバを同時に立ち上げるには gserver自身がthread実装みたいだけどまああえて動作空間を切りたいのよ。 require 'thread' require 'gserver' t=[] t.push Thread.new { class HttpServer1 < GServer def serve(io) puts "I'm g…
あまりに久しぶりなのでプロトコルを全然つかんでなかった。以下を実行し、ブラウザで http://127.0.0.1:10001/ をアクセスする require 'gserver' class HttpServer < GServer def initialize(port=10001, host="127.0.0.1" ,*args) super(port, host, *arg…
ホッテントリみててid:ochame-coolさんのコメントがちょっと気になった。 (はてブで書こうとしたがdisってるのと勘違いされるおそれがあるのでこっちで) # 2008年04月21日 ochame-cool ochame-cool a. ★☆☆, b. へぇ, c. 経営, t. 価値のダンピング 専門家…
emacsのgraphviz用モードをインストールする - 計算機と戯れる日々の続きどうもコンパイルが終わる前にビューが起動してしまっている。 elispのwaitは関数sleep-forみたいなんだがもちろんコマンドになっていない。 (つまりM-x sleep-forとかできない。)し…
複数のスレッドを使って並列にソートする際に必要なスレッド数を計算する - 計算機と戯れる日々の続き配線が交わってもいいなら必要なスレッド数は少なくなる。 rubyを使って自動でgraphvizのソース作成しコンパイルするプログラムを作った。結果は以下。 ソ…
なんかmaybeモナドっぽさがだせないので中止。 Prelude Maybe> (\x->filter(\(x,y)->if (isNothing x)||(isNothing y) then True else (fromJust x + 1 /= fromJust y ))$zip([Nothing]++(map Just x))((map Just x)++[Nothing]))[1,2,3,5,7,8,9,12,15,16] […
いろいろあったけどできた。Rubyでどう書く?:連続した数列を範囲形式にまとめたい - builder by ZDNet Japan >> (r="1 2 3 5 7 8 9 10 12 15 16".split(/\s+/)).unshift("E").zip(r[1..-1].push("E")).map{|i|(i[0]!="E"&&i[1].to_i==i[0].to_i+1)?"-":i}.…
rubyでun*xのuniq相当(互換)のコードは紆余曲折(笑)あったが以下 >> [1,2,2,2,3,3,4,2,2,3].inject([]){|a,i|i!=a[-1]?a<<i:a} => [1, 2, 3, 4, 2, 3]</i:a}>
rubyのinjectにはバグがあるのか? - 計算機と戯れる日々の続き Enumerable#injectはおかしくない - http://rubikitch.com/に移転しましたよりトラックバックされて気がついた恥ずかしすぎる。ありがとうございます。 3時だったのでもう頭が回らなかったかも…
Graphviz dot mode for emacsから持ってくる。 $ wget http://users.skynet.be/ppareit/projects/graphviz-dot-mode/graphviz-dot-mode.el $ sudo cp graphviz-dot-mode.el /usr/share/emacs/site-lisp で、.emacsに以下を追加 ;;graphviz mode (load "graph…
複数のスレッドを用いて並行にソートするアルゴリズムをrubyのthreadで実装する - 計算機と戯れる日々に必要なスレッド数を一般化する 奇数のとき n(n-1)/2 偶数のとき (n/2)^2+(n/2-1)^2=n(n-2)/2+1 個数 実値 n(n-1)/2 n(n-2)/2+1 01 02 03 04 05 06 07 08…
複数のスレッドを用いて並行にソートするアルゴリズムをrubyのthreadで実装するそらでは書けなかったのでまず絵を書いた。 枝番号をキューとして実装したのが以下 require 'thread' t,q=[],[] (0..14).each{|i|q[i]=Queue.new} t[0]=Thread.fork{ q[4].push(…
>> [1, 2, 2, 3, 2].inject([]){|a,i|a<<i} => [1, 2, 2, 3, 2] >> [1, 2, 2, 3, 2].inject([1]){|a,i|p a;p a[-1];a<<i} [1] 1 [1, 1] 1 [1, 1, 2] 2 [1, 1, 2, 2] 2 [1, 1, 2, 2, 3] 3 => [1, 1, 2, 2, 3, 2] >> [1, 2, 2, 3, 2].inject([1]){|a,i|p a;p a[-1];a<</i}></i}>
un*xのコマンドのuniq ~$ echo -e "1\n2\n2\n3\n2\n2\n"|uniq 1 2 3 2 一方rubyは >> [1, 2, 2, 3, 2].uniq => [1, 2, 3] くそぅ 思いっきりはまってしまった。常日頃ソート後のモノしかいじっていないってことか。 一方gaucheはgroup-sequenceがある。 http…
win上のemacs22(NTEmacs)でウインドウサイズ(フレームサイズ)を指定するにはコマンドラインオプションを使う。 $ emacs -g 80x30コマンドライン(BAT)なら c:\cygwin\bin\run.exe /bin/bash --login -c "/usr/local/emacs/22.2/bin/emacs -g 120x60".emacs…
昨日から…対策したのかなぁ。 バージョンアップするのめんどくさいなぁ。検索しても何もでないなぁ。 ・2008年2月26日をもって「バージョン7.0.1.0未満」のWin版Yahoo!メッセンジャー、および「バージョン2.5」のMac版Yahoo!メッセンジャーのサポートを終了…
なぜだかわからないが cygwin上のemacs22.2のrubyモードでC-cC-s(run-ruby)が Searching for program: no such file or directory, irb.exeを表示して実行できない。 何故かと思い exec-pathを見てみたが /usr/binが消えている。/usr/bin上書きしても駄目。…
http://video.google.com/videoplay?docid=-1819139473180237979より デザインドキュメント プロジェクトの説明 何を作るか どのように作るか 何故作るのか、その理由 どのように作るのか、その方針 用語説明 グループで開発するときには必要 たくさん書かな…