2008-04-01から1ヶ月間の記事一覧

ツツジ

なるほど「ブログを書いたらPUSHする!」が基本なのか

いつものようにホッテントリにあがっているid:dankogaiさんのページをみていた。『また脊髄反射を…』と思いながらはてブのコメントをチェックしていたところ 2008年04月26日 dankogai dankogai 小飼弾, dankogai, lisp, ruby, perl, c 一番にコメントいれて…

はてなのユーザインタフェイスがマジになってきている気がする。

いろんな画像をアップしている手前fotolifeの容量は気になってた。あと1/3になってた。 どうしようと悩んでいたときに月間30MBへ変更。びっくりだ。 日記の方からのアップロードフォルダ指定はなさそうだ。まあ、うれしいことだ。 ありがとう>はてな。

viscuitが2.0になったのを一年後に気がつく俺

定期的にダウンロードしなくてはならなくて使う気が失せていたビスケットが新しくなってた。http://www.viscuit.com/なんとwebアプリに…でもなぁ。なんかNTT コミュニケーション科学基礎研究所の都合で消えたりするような気配がする。 クライアントの計算資…

淘汰ってなんだろう?(Re2:専門家も実は小出しなんじゃないだろうか。)

折角、説明していただいたのに遅くなりました。 なぜ自己が淘汰される恐怖を持つのかに疑問を持ちました。 今回のブリタニカの件や、レディオヘッドのアルバムダウンロード販売(参考)は、法律的にダンピングとは言わないのだろうが、より規模の小さな出版…

squeak etoysでルーローの三角形を描く

意外に苦労した。 ルーローの三角形:星の向き\\120=0 のときに 星の向き←星の向き+30 ルーローの五角形:星の向き\\72=0 のときに 星の向き←星の向き+12 ルーローの九角形:星の向き\\40=0 のときに 星の向き←星の向き+4ゆえにルーローのn角形は 星の向き\\…

rubyのselectと同じ動きをするschemeコード

久しぶりにリスト内包表記を使った。 >>(fold (lambda (x y) (if (> x 3) `(,@y ,x) y)) () '(5 1 4 2 3 4 5 5)) =>(5 4 4 5 5)

(続)rubyで最小のwebサーバ

しまった。一回こっきりなら以下の手があった。 require 'socket' s=TCPServer.open(80).accept s.puts "HTTP/1.0 200 OK\nContent-Type: text/plain\n\nhello,world" +s.gets

rubyで最小のwebサーバ

たぶん、これが今最小(自分の中で) 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

リセットなしでATOK17のユーザ辞書を捨てるには

辞書ファイルは 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サーバを作る フォームの値を観察する 日本語

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…

rubyのgserverでhttpサーバを作る フォームの値を観察する

こうやると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で複数サーバを同時に立ち上げる

rubyのthreadとgserverで複数サーバを同時に立ち上げるには gserver自身がthread実装みたいだけどまああえて動作空間を切りたいのよ。 require 'thread' require 'gserver' t=[] t.push Thread.new { class HttpServer1 < GServer def serve(io) puts "I'm g…

rubyのgserverでhttpサーバを作る

あまりに久しぶりなのでプロトコルを全然つかんでなかった。以下を実行し、ブラウザで 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用モードのキーバインド

emacsのgraphviz用モードをインストールする - 計算機と戯れる日々の続きどうもコンパイルが終わる前にビューが起動してしまっている。 elispのwaitは関数sleep-forみたいなんだがもちろんコマンドになっていない。 (つまりM-x sleep-forとかできない。)し…

(続)複数のスレッドを使って並列にソートする際に必要なスレッド数を計算する

複数のスレッドを使って並列にソートする際に必要なスレッド数を計算する - 計算機と戯れる日々の続き配線が交わってもいいなら必要なスレッド数は少なくなる。 rubyを使って自動でgraphvizのソース作成しコンパイルするプログラムを作った。結果は以下。 ソ…

haskellで「Rubyでどう書く?:連続した数列を範囲形式にまとめたい」をやろうとした。

なんか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でどう書く?:連続した数列を範囲形式にまとめたい」をやってみた

いろいろあったけどできた。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相当のコード

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のパーサの挙動がよくわからない。((続)rubyのinjectにはバグがあるのか?)

rubyのinjectにはバグがあるのか? - 計算機と戯れる日々の続き Enumerable#injectはおかしくない - http://rubikitch.com/に移転しましたよりトラックバックされて気がついた恥ずかしすぎる。ありがとうございます。 3時だったのでもう頭が回らなかったかも…

emacsのgraphviz用モードをインストールする

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で実装する

複数のスレッドを用いて並行にソートするアルゴリズムをrubyのthreadで実装するそらでは書けなかったのでまず絵を書いた。 枝番号をキューとして実装したのが以下 require 'thread' t,q=[],[] (0..14).each{|i|q[i]=Queue.new} t[0]=Thread.fork{ q[4].push(…

rubyのinjectにはバグがあるのか?

>> [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}>

rubyのuniqがun*xのそれと動きが違う件

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)でウインドウサイズ(フレームサイズ)を指定するには

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…

debian(etch)のgaimでyahoo.co.jpが利用できなくなった

昨日から…対策したのかなぁ。 バージョンアップするのめんどくさいなぁ。検索しても何もでないなぁ。 ・2008年2月26日をもって「バージョン7.0.1.0未満」のWin版Yahoo!メッセンジャー、および「バージョン2.5」のMac版Yahoo!メッセンジャーのサポートを終了…

cygwin上のemacs22.2でirbを動かす

なぜだかわからないが 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より デザインドキュメント プロジェクトの説明 何を作るか どのように作るか 何故作るのか、その理由 どのように作るのか、その方針 用語説明 グループで開発するときには必要 たくさん書かな…