ToDo:
http://d.hatena.ne.jp/yshl/20070624#1182700836
を見て
http://d.hatena.ne.jp/Nabetani/20051209#c1182787525
とコメントした翌日に
http://d.hatena.ne.jp/ku-ma-me/20070627/p1
と
http://d.hatena.ne.jp/KeisukeNakano/20070627/1182956107
を見た。
C のコードを実行する前提だと --*""; が最短かなと思ってます。
(01:04)
http://morihyphen.hp.infoseek.co.jp/
そいや僕も最近作りたいなーと思ってたのだった。
僕が日記システムに求めるものは
とかそんな感じかなぁと思う。 まぁ検索が圧倒的に重要なんだけどね。
最近思うところがあるので作ってみるかなー。 言語は D かな。
(16:16)
というフレーズは普通に公開情報みたいだ。
http://googletesting.blogspot.com/
まぁ僕は Testing も sucks だとおもう。 だってつまらんし。 適量なら Debugging の方がまだ面白かったりするしな。
(T-T) Debugging ('-') Testing (^-^) Validation
とか考えながら、やっぱスクリプト言語も OCaml 的な型宣言欲しいよなーと思った。 OCaml の型宣言はしたいところだけできて良い。 Ruby とかもできるんのかな。
def f(s : String) end f(123)
こんくらいならコンパイル時にハネられるだろう。 こういうのくらいでもそれなりに助かるんだよなー。 ってたぶん soutaro さんとかはそいうのしてるって話だったんだとおもう。
あともちろんこいう s : String とかは 標準ライブラリに使われているべきではないとおもう。 duck typing が生きなくなるから。 ただまークライアントコード書いてる時に ここ縛り強くしたいなーとかいう時にできるとうれしいわけだよね。
class String limit +(rhs : String) end
とかだけで制限強くできるとうれしいかもな。
あと duck typing と言えば Ada かなんかにあった このメソッドがあるクラスじゃないとダメ、 とかできると嬉しい気もするんだけど、 それこそ特異メソッドがどうしようもないので まぁそれはムリだな。
(15:55)
あと一昨日もコンピュータヒストリーミュージアムとかに行って これもなかなか良かった。コアメモリ見たのは始めてだっただろうし、 本物のドラムメモリ積んだマシンの前で Real Programmer Stories の Mel みたいな話を聞けた。
http://www.geocities.co.jp/WallStreet/6351/real.html
これを見るに LGP-30 と書いてあるけど、 まさにその実物を見たとおもう。
話はつまり、ドラムメモリはガンガン回ってるので、 命令実行し終わった時には次にメモリ番地なんて指してくれてなんかいないので、 全ての命令は次の PC の位置を同時に指定するような アーキテクチャになってて、 Mel ってキチガイは命令を実行し終わった後に ちょうどドラムが見てる位置に PC を飛ばすように 手動最適化してた、っていう話。 あと自己書き換えできないなんてクソじゃん?とか。
これは Jargon files の邦訳であるところのハッカー大辞典 の付録かなんかに載ってたので何度も見て 大好きな話の一つ。
(13:58)
あとは初代ぐぐるサバかなんかも見た。
1段にマザー4枚ずつ20段使って80台のマザーで (箱とかに全く入れずに)ラックを作ってて、 それぞれのマシンに PenII とメモリ2枚(1スロット空き) と 22GB の HDD と、 PCI に LAN カード差して 全部一個のハブに繋いでた、って感じだったとおもう。 こう、当時からテラバイトのストレージを持ってたわけだ。 うーんすごいなぁと思った。 メモリは当時だと 16MB*2 ってとこなのかな? だとすると 2GB くらいか少ないな。 なんかディスクの方が進歩が遅いってのがよくわかるな。
(14:03)
http://www.liarsoft.org/diary/20070624.html#20070624p1
なんとご愁傷様だけど 死んだ Windows いじるのはためになりそう。
昔よく EMM386 がどうこうで止まったりして Linux から Windows のパーティションいじることがあった気がするけど 最近はそいうの全然ないなぁ。
まぁ Linux ではよくあるわけで、単に Windows 使ってないからか。
(00:57)
autoconf.cgi とか automake.cgi とか作らないかなぁと思った。
http://cvs.m17n.org/~akr/diary/2007-06.html#a2007_06_25_1
(15:06)
はばゆうせんはよくわからんと思ってたんだけど、 A* で深さをスコアにすればいいとかなんとか聞いて、 ああそらそうかと。
なんか探索=再帰で書くもの、って認識があって、 今までやったことある幅優先で記憶に残ってるのは オセロくらいでまぁ再帰で書いてたんだけど、 途中の幅を保持するために各再帰の中で vectorなりなんなり作って得点でソートして 上位のヤツを採用、とかしてた気がする。 んなもん遅いに決まってて、 なんで幅優先がわからんかというと 明らかに遅そうで使い道よくわからんとかほげほげ。
つまり再帰なんて使うなっていう。
(16:36)
についてなんか考えたと思ったんだけど。
思い出した。 英語人はなんか日常語を転用することを恐れないと思ったのだった。 日本語で火の玉なんて魔法があったらダサいけど 英語人はファイアーボールとか平気でつけちゃう件と、 thread やら fiber みたいにテクニカルタームを 日常語から名前つける件は同源なのかなぁと。
さらに、こっちの人は人間の名前がかぶりまくって ピーターが5,6人いるとかいう事態が平気でありうるわけだけど、 つまりこう、名前というものに対する認識がなんか違うのかなと。
理由は、一つには日本語みたいに簡単に新語を追加できない、 って事情がありそうな気がするが。
(18:38)
とはちょっと関係ないけど、ゴルファーには常識な話。
irb(main):001:0> a=1 if 1<0 => nil
ここで a はどうなっているか。答えは nil 。
http://d.hatena.ne.jp/rubyco/20070620/returnvalue
via http://d.hatena.ne.jp/masa_edw/20070620/1182351002
(01:23)
http://esoteric.sange.fi/brainfuck/bf-source/quine/quine410.b
が何してるかわかってきた…
と思ったら下に解説あった :-)))
(15:28)
チューリング完全で、 自分の処理系を短く書ける言語を設計する。
Brainf*ck の ><+-.,[] に ! を足して、 その ! は引数をファイルから読み込んで 同じインタプリタから実行する命令、 とかされると 1B になってしまう。
(15:58)
とかそんな名前だっけ。
http://shinh.skr.jp/koneta/#wwdgwa
惜しい。
それはともかく、ただ diff を保存するだけじゃなくて、 人様のサイトを勝手に CVS に叩き込むというのはどうだろうと思った、 けど、なんの意味もない。
(14:30)
http://d.hatena.ne.jp/masa_edw/20070610/1181488974
mirc ってアドホックに任意発言へのフックかける機能作った気がするけど ほとんど使わないままソースコードのアップロードもされてない気がする。
いずれにせよ PART とか QUIT とかはハンドルしてないので 汎用ボットとしては使いものにならないのであった。
汎用的なボット作るなら rice そのまま使うか nadoka なり rail の上に乗せれば… というのは既にやっておられるようなので安心。
こう、問題は、おうちの SVN サーバ落ちてることと、 mirc は見られたくないメールアドレスが ハードコーディングされてる(これがnethack式開発の弊害か!) とか、めんどくさいとかめんどくさいとかめんどくさいとか あとめんどくさいとかめんどくさいとか あとそれとめんどくさいとかめんどくさいとかめんどくさいとか いう理由で更新しにくいことだった。 あとめんどくさいという理由もつけ加えておきたい。
それはそうと最近の mirc は ゴルフ通知ボットとして活躍してるのだけど そのための server> が結構便利なのでここに置いておこうと思った。
require 'socket' def server_desc "server>: サーバを開始します。" end def server(msg) if @context.target != '#mazop' || @context.nick !~ /^shinh/ return 'なにかが違う…' end Thread.new do puts "create server thread...\n" gs = TCPServer.open(9999) while true s = gs.accept until s.eof? notice(s.gets.chomp) end s.close end end "サーバを開始します" end
あとは 9999 に繋いでなんか書いたらそのまま IRC に流れる。 ゴルフサバとのマッシュアップ。
(14:24)
今頃考えてみた。
http://d.hatena.ne.jp/ku-ma-me/20070614/p2
他の回答は全く見てないけど、短く…ということなら、
ary.sort.uniq.sort_by{|x|-ary.select{|v|v==x}.size}[0,n].each_with_index{|x,i| puts "#{ i+1 } 位:" puts "- #{ x }" }
とかそんな感じになりそう。
(15:33)
80Byte内でおさえろ、とかいうことであれば以下のように書くかもしれない。
ary.uniq.sort_by{|x|-ary.grep(x).size}[i=0,n].map{|x|puts"#{i+=1} 位: - #{x}"}
(15:41)
LL Spirit 行けるみたいだ。
http://ll.jus.or.jp/2007/show/Event/Session#H-ynippb
おめでとう俺! でも本当に俺で大丈夫なんか!
(16:17)
前 | 2024年 11月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ kik [うちでは main(){div()}でも死んだ。長さ変わらんけど。]
_ kik [↑セミコロンが抜けた。]
_ shinh [おおお、さすがに嫌なコードを考えさせたら天下一品ですね失礼。なんか当時3文字の関数は探したような気もするんですが見つ..]