ToDo:
http://shinh.org:81/p.rb?delete+blank+lines
CR 入っちゃってるな。 ていうか echo でも気付いてたけど CRLF はどうするんが適切かなぁ。
(02:37)
http://jarp.does.notwork.org/diary/200701c.html#200701312
おお問題ありがとうございます。
w3m は元が CRLF じゃないサイトにでも CRLF で投げ込むんだなーと学びました。 出力は既に対処してあって 入力はどうすっかなーとか微妙に考えてたんですが まぁいい機会なので。
echo が意外にわからないですし短い問題もいいですね。 bash 2B なんだろなーという。 lv インストールされてなかった。
おおわかった。 こんなコマンド始めて知った。
(03:19)
Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/g/gnu-smalltalk/gnu-smalltalk_2.1.12-0ubuntu1_i386.deb Temporary failure resolving 'archive.ubuntu.com'
一瞬ネットワーク落とさないと apt-get できないってのはうざい
まぁそうしょっちゅうあるわけでもないしいいか。
あと m4 とかもいいかな。 erlang はコマンドラインからの実行が大変。
(03:25)
http://www.nmt.ne.jp/~ysas/diary/?200701c&to=200701292#200701292
そういえば -n で動くのに -p で動かないのがよくわからないのだった。
#!perl -n @;=(1,2,3);print"$_$/"for@
ちょっと追ってみると toke.c の
if (!PL_in_eval && (PL_minus_n || PL_minus_p)) { sv_setpv(PL_linestr,PL_minus_p ? ";}continue{print;}" : ";}");
ここだと思うんだけどな。うーん?
(06:51)
XSSって何かやっとわかったよ! たぶん僕の書いたものとか XSS だらけだね!
まぁこのソリューションは重要ですよ。
http://d.hatena.ne.jp/shinichiro_h/20060107#1136602673
KILL SYSTEM
(20:10)
要するに、 Apache 側に mod_xssdetectingとかあればいいんじゃないのかなという。 <script> とか、あとこれは適当に空白入れるとか ブラウザのバグ含めた色んな方法で <script> 相当のことを させるっていう話らしいけど、 まーそいうのの中の典型パターンだけは潰しとく くらいのことはしてもバチはあたらなさげな。
効率とか考えてもたぶんそんなに負荷デカくないよなぁ。 setjmp のなんかをエンコードするご時世らしいし。
(21:05)
脆弱性があるサイトを Apache が一定防御したとしても、 ブラウザのバグがたくさんある以上は 一個くらいなんか残ってるだろうし、 結局攻撃者は Apache が知らなくてかつ ブラウザの未知なり非対応なバグをついた攻撃を 一個探し出すだけでいいわけだ。
んでもそのチェックに一度でもかかったら 警告メール投げるとかすれば 迅速に対策できるかな。
(21:08)
http://shinh.org:81/p.rb?delete+blank+lines
まぁexecかな。
ただ、だとするすと exec'bash6b' で 12B のはずなんだけどな。
(01:33)
封印するか否かは悩みどころなんだよなー。
Rubyとかで使うのは面白さあると思うんだけど、 CとかでRuby呼んじゃうとかはちょっとなぁ。
あと封印する手段がめんどくさい。 execve を潰しちまうのが一番良いのかな。 ptrace で横取りするとかでいいのかな。 面倒そうだな…
(01:36)
http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
via http://alohakun.blog7.fc2.com/blog-entry-640.html#comment
via についてどうでもいいけど、 僕は gtk だという理由だけで嫌ってるものがたくさんあるという。 例えば sylpheed 。
C++のとこにむむっと思うんだけど、 仕事でやってるとこいう考えになるかなとは思う。
Perlをくじらのはらわたと言うのは面白いしな。 でもねでもね!
そのため(1, 2, (3, 4))は不思議なことに(1, 2, 3, 4)に変わってしまう。 あなたはこんな風になってほしいと思ったことはないだろう。
ある。何度となく。最近だと http://shinh.org:81/p.rb?permutater とかでも思った。
あとなんというかこれは知らなかった。
i@u ~/wrk/ag> perl -e '$x{"a"}="b"; print %x.$/' 1/8
見たことはあったけどな。 というかコンテキストというものを 理解したのは最近のことだな。
ていうかつっこみどころそんなに多いのかな。 日本うんぬんはまぁそうかな。
(03:24)
Net::HTTP の方があまりにすばらしくだめだったという話も。 まぁ open-uri はすばらしー
Net::HTTP は一度使った者は全て呪われる的な
あと HTML を each したいという話を忘れてたのを 思いだした
(03:39)
http://www.radiumsoftware.com/0702.html#070202
http://www.itmedia.co.jp/news/articles/0611/11/news010.html
真逆の話みたいに思えて面白かった
(05:32)
ファイルアクセスも open(2) を監視するだけでいい。 でもとりあえず /golf/test の下にファイルが残らないようにはした。 まぁ /tmp とかはストローク数少ないのでまだまだ問題
(09:34)
という原則からして、 Ruby は Kernel#hello をつけるべきだと思うね俺は。
def hello(h='H',c=',',w='w',e='!') puts("#{h}ello#{c} #{w}orld#{e}") end
まぁこんな感じで。
(09:38)
nslookup みたいな感じで、 えーと 192.0.34.166 から example.net も .com も出してくれる、 みたいなのはなんか無いんだっけか。 ちゃんと逆引き用のデータ構造作ってなかったら 線型探索しなきゃいけないからキツいのかな。
(09:49)
PerlGolfにはバイナリ文字列は50%まで、 っていう掟がある。
これは結構面白い制限なんだよね。 つーのは現行のアナゴルでは 長いのは全部zlib使っちゃうだろうから。
単純にマネて50%切るエントリーハネる 設定を追加するつーのはアリなんだけど、 それよりは記号ゴルフからめたいなという。
んで、バイナリが制限越えたエントリーは 自動的に別集計するとかでいいような、という。 ついでに記号割り合いが制限越えたエントリーも 別集計して讃える、と。
ただ Whitespace と Brainfuck は自動的に 記号ゴルフになるし Befunge もたぶんだいたいそうか。 awk と sed もそんな感じになったりとかしそう。
(18:16)
http://www.garbagecollect.jp/~usa/d/200702a.html#id20070202_P1_1
Rubyとかは `find` とか使ってこそのツールだと思うので、 欲しいなーという感はあるのですが、 C とかで main(){system("ruby -e ...")} が optimal になるととても悲しいというのが一番大きいですかねぇ。
「限界突破」前は zlib だったと思うのですが (突破後どうやってるかわからないので考えます。 IO.popen('gzip') だと思ってたのですが違うみたいだ…)、 私の現状はこんな感じです。
#!ruby -przlib $_=Zlib::Inflate.new.inflate'ばいなり〜'
-przlib $_= の方が require'zlib' puts とかより短い点、 Inflate.inflate より Inflate.new.inflate の方がたぶん良い点 (圧縮後の最後の方の何バイトか削っても大丈夫)、 なんかが工夫。
(19:43)
From: news_maimagl@livedoor.net Subject: 皇族が夜な夜な王様ゲーム!? "ゲイ好き"とmixiで告白 ■□ドア日新聞(07/02/03号)□■
そいうのアリなの?
(02:30)
ありがち。
まずこれ max じゃなくて min だよね!
max = l[0][1]
こういうのすごいムズいよね!
rdb['root'].unshift([pn, un, ext, cs, time, now, rank, 10000*cs/max])
だーいぶ考えて、それで間違ってたんだから情けない
しかし#codegolfみたくIRCでのリアルタイム実況欲しいな。 とりあえず#mazopあたりに流すか。
(19:18)
http://shinh.org:81/p.rb?bowling+scorer
を見てて Befunge の & って gets.to_i じゃ ダメなんじゃなかろーかと考えた。
http://www.elf-emulation.com/funge/
の実装を読むに scanf("%d") だね。
scanf("%d",&i); scanf("%c",&c); printf("%d %d\n", i, c);
とかすると、
1 a => 1 32 989a => 989 97 aaa => -1208487948 97
ふーむつまりこれ Ruby でやるのは
def scanint c = STDIN.getc r = 0 while c >= ?0 && c <= ?9 r = r * 10 + c - ?0 c = STDIN.getc end STDIN.ungetc(c) r end
とかで良さげ。
(20:30)
総合得点は公平にやるのが不可能だし 一定期間後はネタバレ推奨したいので 入れないつもりだったけど、
やるとしたら、 (10000*min/size)*(entry_count-1) とかだろうか。
http://shinh.org:81/px.rb?Dancing+Kids
全然ダメ。
やっぱ無しでいいや
(20:54)
blank.awk
│1 │shinh │2 │0.04761 │Sun Feb 04 00:16:09 JST 2007│
教えてもらった意味はまだわかってないのに><
http://jarp.does.notwork.org/diary/200702a.html#200702021
なんか awk は魔法みたいで面白いなあ。 近いうちにちゃんと勉強しよう。
(00:17)
Win32 の exe をなんとかしようと何度か色々やってみてるんだけど なかなか大変みたいだ。 ulimit かかってるとダメみたいなんだよなー。 かといって ulimit 外すのもアレだしなぁ
(00:21)
ぐぐって見つけたとか。
http://programming.reddit.com/info/12qpf/comments
海外の reddit つーのはどんなもんなんだろうな。
(10:21)
irb(main):001:0> 999999999999999**99999999999999999999 (irb):1: warning: in a**b, b may be too big
これなんかはすごい気がきいてると思う。
'a'*9**9
なんつーのも、 まーそうそう無いけど、 望みの結果であるわけない と判定してくれても良さそうに思う。
いやもちろんこんなもんにイチイチ対応するのはアホなので、 もっと下のレイヤでなんか無いんかなーと。 非常識レベルを設定しといて、 非常識っぽいの見っけたら警告、とか。
0.01秒くらいかけてループ1000回くらい回ってみて、 おいおい後1億回あるよホンマに お前これ望んだ結果なんか…? とふと聞いてくる怠惰なコンピュータ。 怠惰はプログラマの美徳の一つらしいけど、 コンピュータの美徳の一つにもなりえるような、
(13:51)
http://d.hatena.ne.jp/w_o/20070204#p4
まぁ C は幸い少し読めるので読んでみよう。
たぶんマイクの周波数解析して表示してる。 うん。見なくてもわかる情報だ。
この作りかけのソースから妄想するに、 きっとマイクで喋ると弾幕が降ってくるに違いないね。
(02:52)
って勉強したことないな。
http://www.ngm.edhs.ynu.ac.jp/negami/document/discmath/discmath.html
要はグラフとかあのへんのことらしい。
そうだったのか。
(13:10)
(13:42)
お腹一杯だけどMなので喰ってみた。
それはどうでもいいのだけど、 マクドのガラスに細い横線が入っていて、 そこは黒くなってるわけだけど、 その裏にあった大きな宣伝の液晶かなんかの部分は すごくにじんで見えた。 RGBが別々の散乱角で散乱するからーって話かいな。
(17:50)
妙に Perl の平均レベル高いと思ってたら Fonality のアレは似た内容だったのか。 参考にすんべ。
どうしよう。 一見して方針から全然違う。 何やってんねんこれつー 相変わらず Perl Golf はイカレている。
(03:59)
(defun count-buffer () (interactive) (how-many "." (point-min) (point-max))) (global-set-key "\C-q\C-c" 'count-buffer)
ゴルフ時にでも
(15:45)
(defun add-leading-space () (interactive) (if mark-active (string-rectangle (region-beginning) (region-end) " "))) (global-set-key "\C-q " 'add-leading-space)
適当に
(15:52)
http://d.hatena.ne.jp/kurimura/20070206/1170752453
同じく混沌が好きです。 それはそうとそれだと改行が一つ増えてしまうんです
i@un ~> dmd -c quine.d const char[]x=import(__FILE__)[0..$-1];pragma(msg,x);
(18:08)
_ kurimura [あっーー。改行かー。完全に忘却してました。]
http://mono.kmc.gr.jp/~yhara/d/?date=20070205#p01
これは便利そうな。
というか Tidy で作りかけてたものに似ているという
(01:50)
迷わず /dev/stdin を読もうとする→ 読めない! → /dev/tty →同じく読めない → かたっぱしからデバイスを読もうとする → うまいこといかん → しょうがないから CGI 書くなら環境変数読めればいいべ! → /proc/self/environ → 読めない → どうやら fstat がファイルサイズ 0B という情報を返してるらしい → 仮に読めてもヌル文字が入った時点でアウト → D は劣った言語です!!!
(02:44)
resume_entryが無いとかなんとか。
http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=374173
これぽくはあるがわからん。
http://jp.archive.ubuntu.com/ubuntu/pool/universe/z/zinc-compiler/zinc-compiler_1.0.2-6_i386.deb
おやこれか。 libc 変えろって言われるな。 勘弁してくれ
(03:43)
http://slashdot.jp/linux/article.pl?sid=07/02/07/140252
面白いなぁ。
2chのコピペブログの人とかが編集したら もちょいまとまるのではないかとか。
(03:51)
適当につけてみた。まんまパクリで、
07:14 {mircbot} shinh submits 23B of Ruby for sort characters, ranking #2 (10000pts).
って感じ。
見たい人はとりあえず irc.friend.td.nu:6667 の #mazop に(たぶん場所変える)。
(07:16)
_ Gus [clispで出力の最終行に常に改行が入るために、Hamming Numbersやeが通りません。 Hamming N..]
_ ySas [Befunge、多倍長整数がないのも、端をまたいだstring modeについても想定内でしたけど、EOFで-1が積..]
_ shinh [ご報告ありがとうございます。 clisp は全然わからないのですが、なにかオススメの解決法はありますでしょうか。な..]
_ ySas [Befungeは、可能なら再評価か、いったん全部消して再投稿を呼びかけるのが筋でしょうね。記録の上書きで対応したいと..]
_ Gus [clisp投げられるようになりました。ありがとうございました。 実はlispなんて使ったことがないのでお勧めの解法は..]
買った。 まぁウィズつーても外伝とかの感じに近いかなぁ。 なんというか別に突き放してる感じはしない。
ダークハンター、レンジャー、バード、メディック、バード とかいう肉弾戦できない子たちで。 まぁ顔で選んだわけだけど、 そもそもRPGの肉弾戦キャラは好きじゃないので良い良い。
あとレベル10落としてスキルふりなおしって メニューあるけど、これはむしろ レベル落ちるのはメリットじゃないかなー。
(05:40)
そういえば sed sort はループ展開された状態で 置いてあるんだけど、 ちゃんとループにすればすごい縮むと思う。 予想では100切る。
けどこれがめんだくさいんだなー。
まぁでもBFコンパイラ書くよりははるかにカンタンだろう。
(02:08)
i@u ~/wrk/ag> cat csort.dat | sed -f csort.sed ..///:aaaaaaaaaaaaaaaaaaaabbbbbcccddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeefffffggggggggghhhhhhhhhhhhiiiiiiiiiiiiiiiijkklllllllllllmmmmmnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooppprrrrrrrrrssssssssssssssssssttttttttttttttttttttttttttttttttuuuuuuvvvvwwwwwwyyy
テスト二つ目がタイムアウトするのであった。 sed を高速化するのとかアホだなぁ。
あと
y/ !,.\/:<Habcdefghijklmnoprstuvwy/!,.\/:<Habcdefghijklmnoprstuvwy@/
とかがあるので100切るとかは全然ありえない話だった。
うーんメインループが遅いんだとは思うんだけど、 これの最適化のしかたとかさっぱりわからない。 アリゴリズム変えないといけなさそうでそれはとてもやりたくない。 うーん。
(03:10)
/usr/share/doc/sed/examples/dc.sed を見てみよう。
# Print a number in a non-decimal output base. Uses registers a,b,c,d. # Handles fractional output bases (O<-1 or O>=1), unlike other dc's. # Converts the fraction correctly on negative output bases, unlike # UNIX dc. Also scales the fraction more accurately than UNIX dc. # s,|?p,&KSa0kd[[-]Psa0la-]Sad0>a[0P]sad0=a[A*2+]saOtd0>a1-ZSd[[[[ ]P]sclb1\ !=cSbLdlbtZ[[[-]P0lb-sb]sclb0>c1+]sclb0!<c[0P1+dld>c]scdld>cscSdLbP]q]Sb\ [t[1P1-d0<c]scd0<c]ScO_1>bO1!<cO[16]<bOX0<b[[q]sc[dSbdA>c[A]sbdA=c[B]sbd\ B=c[C]sbdC=c[D]sbdD=c[E]sbdE=c[F]sb]xscLbP]~Sd[dtdZOZ+k1O/Tdsb[.5]*[.1]O\ X^*dZkdXK-1+ktsc0kdSb-[Lbdlb*lc+tdSbO*-lb0!=aldx]dsaxLbsb]sad1!>a[[.]POX\ +sb1[SbO*dtdldx-LbO*dZlb!<a]dsax]sadXd0<asbsasaLasbLbscLcsdLdsdLdLak[]pP, b next
ううむ
(18:42)
うーむ sed すごい
http://jarp.does.notwork.org/diary/200702a.html#200702102
それはそうと改行1個とかわかりにくいですし、 sed なら *NOTHING* でも改行入れる、っていう処理しようかと思います
というかもう入れた。
(03:45)
バード二人のうち片方がどうしようもなくいらない。 戦闘の最初のターンに前衛で防御とかしてるカスである。
ホーリーギフトLv10になったら覚えるスキルが 無くなったので酒場に放置して新しい子を入れよう。
ブシドーに萌えキャラがいたのでこの子にしよう。 使い勝手が悪いらしいので良い良い。
カースメーカーもあやしげで良さげなんだけど。 いつ仲間になるんだろう。
(06:20)
エンジニアの知ってるメンタルモデルを 押しつけると大変ユーザビリティの良くないものになるので、 ユーザのメンタルモデルにあわせなさい、 として誰のためのデザインに載ってて、 例として冷蔵庫は上の温度と下の温度が設定できるのが正しくて、 冷やす総量と上下の配分を設定できるのはおかしい、と。
コンピュータでもそれは基本的にもちろん正しいんだけど、 でも敢えて技術者ベッタリで作られると 内部構造に思いを馳せる機会にはなるんだよなぁという。
というわけでやたら奥深くにある Windows の IP の設定画面は
(11:04)
固定出力の Web サーバを書いた→ u3で走らせた(nohup忘れた)→ ルータの設定変えるのに手こずった→ なんか同じ設定が二つ書いてあったりとか→ 気にせずあわててでかけた→ この時nohup忘れたのでWebサーバ死去(アホ)→ 帰った→すぐおねむ→ 起きた→ ルータの設定壊れててアドレス変換修正できない→ プロバイダの設定やりなおし→ ルータの設定むずかしい
とかそんな
(08:20)
ltが
│1 │tybalt89│46 │0.2996│07/02/12 08:25:17 │ │2 │shinh │51 │0.2173│07/02/12 08:16:14 │ │3 │ySas │52 │0.1663│07/02/11 01:34:34 │
suge-
(08:30)
http://www.kozupon.com/lighttpd/
http://goww.blogspot.com/2006/07/phplighttpd-lighttpd-fastcgi-php.html
(20:29)
http://d.shinh.org/svn/toy/lang/Readme
俺も compile time Befunge 書くよ!
ホントは compiler time x86 emulator がいいんだけど!
(21:11)
_ shinh [> sumimさん こちらこそ遊んでいただいてありがとうございます。過度のゴルフは古くから家庭崩壊の元となっていた..]
_ konn [あーなるほどそうすればもっと早いですね……ビット演算は奥が深そうだ。 えーとそれで、多分型宣言がないと怒られるのは..]
_ shinh [例えばこんな感じでうまくいかないから悲しいなぁという。 i@u ~/test/hs> cat bits.hs im..]
_ konn [あーなるほど。確かにそれだとどの 1 だかわからないので型宣言つけてやる必要がありますね。何かHaskellは妙に頭..]
_ shinh [なんかNumまわりだけインチキしてるから頭いいとかじゃなかったでしたっけ。まぁ復帰したら色々教えてください。]
http://golf.shinh.org/p.rb?delete+last+line
うーん。 sed は x の 1Byte だぜ! と思ったんだけど leading new line があるんだなー
(01:33)
http://jarp.does.notwork.org/diary/200702b.html#200702121
mawk と gawk はだーいぶ違うらしい。 AWK勉強したいと思ってることだし、 どうせならアグレシッブなのをってことで xgawk を入れてみようかなと思う。 x ついてるのに意味があるのかは知らないけど。
拡張子は何にしようか。 ベタベタに xgawk とかでいいんかな
(01:57)
http://slashdot.jp/hardware/comments.pl?sid=351126&cid=1108658
このへんが一名を除いてすごくまともだ。 何事だ。
(08:45)
まとめておく
&は敵位置 x+80*y 。ただし敵の.がこっちに直結。 ~は敵の踏んでるチップ(使えない)? ,は得点。
戦略
A. 攻める
A1. <>^v を置く
v < >>>>>>>>>
> ^
端から伸ばしていってこの形で直撃すると即死
A2. pを置く
スタックアンダーフローで死んでもらう
A3. ~を置く
スタックオーバーフローで死んでもらう
A4. |を置く
スタックなり方向なりのハイブリッド。
A5. ?を置く
<>^vよりはいいかも
D. 守る
D1. 中心で
>v>v>v<v<v<v< v>v>v>v<v<v<v >v>>>>>>>v<v< v>^ vv<v >^^<<<<<<<<^< ^>^>^>^<^<^<^ >^>^>^<^<^<^<
こういう形が固いかなぁ。
D2. 敵陣で
敵陣を一部書き換えてぐるぐる
D3. 自己書き換え移動
移動式既知
I. 侵入
I1. シンプルなの
> v
隙間に ^ とか置かれてたら死亡なのでたぶんだめ
I2. ちゃんと道作るの
> v >>>>>v v ^ < v
ビクトリーロードを。 遅いかな。
(11:43)
そういや第四層に。
なんというか第三層はトントン拍子で進んで、 こういうバランスの取り方とかはホントうまいなぁ。
レベルは38くらいだったとおもう。 ブシドーだけ25とかそんなの。
(12:36)
http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html#D20070213-8
参加しませう ^-^-^-^-^-^-^-^-^-^-^-^-^-^
(19:56)
http://d.hatena.ne.jp/odz/20070212/1171345311
via http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html#D20070213-4
たしかにこれはひどい。
とかいうどうでもいい話はどうでもよくて。
困ったな。なにがだめなんだろう。 a がマイナスおっきな数で b がプラスおっきな数の場合、 負が帰らないといけないのに オーバーフローで正になってしまう、と。
にゃるほど。 でも if 文が使いたくないという気持ちは 大変よくわかるのであるのであった。
return (a>b)-(a<b);
とかは反則負けとして、なんか無いものかなー。
隣同士の比較は諦める ('-')!
return (a-b>>2)+(a>>1)-(b>>1);
論外。
int r=((unsigned int)((a^b)&INT_MIN))>>31; return !r*(a-b)+(a>>1)*r-(b>>1)*r;
うまくいってる気がするけどわからん。 なんにせよ * とか使った時点で負けぽい。 俺こういうのの才能ホント無いなぁ。
(21:41)
http://www.nmt.ne.jp/~ysas/diary/?200702a&to=200702102#200702102
なんか前のなんとかセミナ〜で 「P!=NPはほげほげという方法では 証明できないということが証明できる」 みたいな話があって、 そのほげほげは普通の証明なら そのほげほげを満たすだろーという ものであって (よくわかってなかったけど あんまりややこしくないとかそんな)、 うあーこれじゃあ絶望的じゃーんみたいな話の後で、 人間の脳味噌で証明できない問題の クラスとかあるんじゃないかとか、 宇宙の全粒子の情報を使っても証明が書き記せない 命題はどうしようとかそんな話が出て面白かったのを思い出した。
(22:08)
素数判定くらいはできる子なんですが…
i@u ~/wrk/ag> echo | sed -f prime.sed NN NNN NNNNN NNNNNNN NNNNNNNNNNN NNNNNNNNNNNNN NNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
これに1分かかってちゃなぁ。 ほんとなんでこんなに遅いんだ
(23:47)
_ LCS submitter [悩んでる人が多いみたいなので、この情報を伝える手段は何か欲しいですね。 今のLCSの問題文に上のプログラム定義をつけ..]
_ yshl [名前の欄に書いた < や > がそのまま出力されてしまうようです。エスケープ処理をお願いします。]
_ shinh [あーはい。一応対処しておきました。ぶっちゃけそのへんはものごっついいかげんというかいまいちマジメにやる気が起きなくて..]
_ bero [むむ:ちょい古いけど反応 D言語のcompareがコレで大昔に言ったけどスルーされた 今みたらさすがに直ってる・・..]
_ Imuzjkyk [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
irb(main):001:0> disasm("\x58\x5a\x59\x31\xdb\x31\xc0\xb0\x04\x80\x31\x20\x34\x07\x89\xc5\xcd\x80\x30\xd3\x95\x85\xed\x75\xf0") /tmp/irb_disasm22831.0: ファイル形式 binary セクション .data の逆アセンブル: 0000000000000000 <.data>: 0: 58 pop %eax 1: 5a pop %edx 2: 59 pop %ecx 3: 31 db xor %ebx,%ebx 5: 31 c0 xor %eax,%eax 7: b0 04 mov $0x4,%al 9: 80 31 20 xorb $0x20,(%ecx) c: 34 07 xor $0x7,%al e: 89 c5 mov %eax,%ebp 10: cd 80 int $0x80 12: 30 d3 xor %dl,%bl 14: 95 xchg %eax,%ebp 15: 85 ed test %ebp,%ebp 17: 75 f0 jne 0x9
なんかすごいコードだなーデバッガで終わんとわからん。
これだから k* は。
でもたぶん短くなりそうな
とりあえずレジスタの初期化部分はうちの環境に依存すれば 短くなりそうな。 つーのは EDX 最初から 1 入ってやがるみたいだから pop EAX; pop EAX とかで始めれば xor EAX, EAX は いらんような。 あと地道に pop するより popa しちゃうと レジスタが割と綺麗になるという悲惨なワザがあるとか。
zlib もそうだけどバイナリ埋め込みは 他ランキングも用意したいなー。 これはこれですごいのに、混じることによって 双方の評価が適切にしにくくなる気がする。 Python と Ruby を共通の点数評価に乗せるような感じ。
(09:50)
という諺がアメリカにある、という夢を見た。
アメリカのバスはガンガンぶつかるということを指して、 バス客もそんな感じなら車の仲間入りさ (このへん夢だけに意味がわからん) とかいう話を聞きながら、 日本ではオカマ掘るって言うよなーとか 思いながら聞いていたのであった。
(10:12)
プレフィクスかと思い込んでたら違うのだった
#define GENERIC_NOP1 ".byte 0x90\n" #define GENERIC_NOP2 ".byte 0x89,0xf6\n" #define GENERIC_NOP3 ".byte 0x8d,0x76,0x00\n" #define GENERIC_NOP4 ".byte 0x8d,0x74,0x26,0x00\n" #define GENERIC_NOP5 GENERIC_NOP1 GENERIC_NOP4 #define GENERIC_NOP6 ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00\n" #define GENERIC_NOP7 ".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00\n" #define GENERIC_NOP8 GENERIC_NOP1 GENERIC_NOP7
nop, mov, lea, lea, xxx, lea, lea 5B はホントに無いのかな。
(13:22)
実装より英語書いてるのがうざくなって途中でやる気失せた。
つまりバイナリのサイズはデフォで公開、 あとなんかシンボルゴルフとかした場合は、 名前変えてかつ statistics を公開すれば Alnum無いんだぜーとかアピールできるよ、と。
(14:41)
< HTTP/1.1 417 Expectation Failed < Connection: close < Content-Length: 0 < Date: Wed, 14 Feb 2007 13:17:56 GMT < Server: lighttpd/1.4.13
なんだこれは!
(22:18)
わらた
http://www.kmonos.net/wlog/70.html#_1759070214
それはともかく、これ見て思い出したので各言語や Sample input へのリンクを追加しておきました。
あと all expression タイムアウトで通らないなーという 悲しさが私の近況
(22:48)
最近風邪をたしなんでいるという感じである。 もうちょっとマジメに原因に取り組む必要があると思う。
やめてお兄ちゃんそれ以上ゴルフしたらっ…!って感じだな。 あと部屋のホコリゴルフをしたら健康に良さそう。
(00:14)
http://pitecan.com/Puzzle/Predict/janken.html
via http://yowaken.dip.jp/tdiary/20070215.html#p01
じゃんけんゲームのネタバレ。
たぶん Firefox なら勝てるんじゃないかな
戦績: 50勝 0敗 0分け 計算機の手 あなたの手 勝敗 グー パー ◯ チョキ グー ◯ グー パー ◯ パー チョキ ◯ チョキ グー ◯ グー パー ◯ グー パー ◯ パー チョキ ◯ パー チョキ ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ チョキ グー ◯ チョキ グー ◯ パー チョキ ◯ チョキ グー ◯ チョキ グー ◯ パー チョキ ◯ パー チョキ ◯ グー パー ◯ パー チョキ ◯ パー チョキ ◯ グー パー ◯ パー チョキ ◯ グー パー ◯ グー パー ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ パー チョキ ◯ パー チョキ ◯ チョキ グー ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ パー チョキ ◯ グー パー ◯ パー チョキ ◯ グー パー ◯ チョキ グー ◯ グー パー ◯ グー パー ◯ グー パー ◯ グー パー ◯ チョキ グー ◯ チョキ グー ◯ パー チョキ ◯ パー チョキ ◯ チョキ グー ◯ グー パー ◯
(04:41)
いくらなんでも実行遅すぎやろと思うんだが 何が悪いんだろう。
strace かなーと思ったけど ゼンサバ上で strace かまして実行しても あんまり速度変わってなくて、 0.25秒くらいで終わる。 open4が悪いか、なんらかの俺のミスか…
(05:17)
やっぱ strace が重かった。 そうだよなー。 フィルタするシステムコールを選択的に 選ぶとかできないからかなぁ。 見てみると wait4 とかが重いらしい。 うーんそいうもんなのかね…
てゆーか -f オプションが遅い。 で、 man 見ると fork を追うって話で、 別に fork なんて追って欲しくは無くて、 やって欲しいのは execve で trace やめるのをやめろ、と。
(06:06)
なんかクーポンがあったので、 この危険そうな物体を食べてみることに。 最初の半分くらいはフツーにうまいじゃんねと思いながら喰ってたけど、 途中からこれはキツいなと思いなおした。
そもそも甘くて腹に溜まるものが得意でない。
(10:27)
http://golf.shinh.org/p.rb?delete+blank+lines#OCaml
\('-')/
型推論をゴマかすのが OCamlゴルフのコツな気がしたのであった
(11:41)
http://www002.upp.so-net.ne.jp/mamewo/ml.html
http://ocaml.jp/archive/ocaml-manual-3.06-ja/libref/
リファレンスじゅーよー。
(13:03)
http://www.zegapain.net/glossary/index.html
http://mania.sakura.ne.jp/zegapain/index.php?量子サーバと幻体
(16:44)
パーサがなんか Perl チックだよなぁ
# let f x y=();; val f : 'a -> 'b -> unit = <fun> # f 1l1l;; - : unit = () #
Haskell もこんなもんだっけか。
(19:19)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070215#p03
は、なんか長い間やってるうちにできてくるような。 私の場合 Ruby は大丈夫だけど Perl は一々試してみないとダメで、 OCaml とかはもう根本的にほげほげ、って感じですね。
ゴルフの才能って要は体力とか暇じゃないかとかいう。
99 は CodeGolf の時からわかってたことですが、 案外アルゴリズム勝負で、 言語によって全然最適な方法が違うので面白かったりという。
僕は一箇所 if then else 使ってるなー。 このへんがダメになるから設計がよろしくないのは なんとなくわかってたけど書き直すのが億劫。
(22:46)
true&recursive(i+1)||()=print_string"hoge"
こんな感じで。
(23:15)
http://gusmachine.blog49.fc2.com/blog-category-2.html
D は、
class C { int i; this() { int i; // 合法 { int i; // 非合法 } } }
のはず。
1. コンストラクタとsetterでは、セットする変数と同じ型の引数を受 け取り、引数の名前はフィールドの名前と同じになることがある。 同じであってもよい。
どの言語の話なんだろう。
#include <stdio.h> struct C { int i; C(int i) { i=i; } void print() { printf("%d\n", i); } }; int main() { C c(1); c.print(); }
こんなのは当然 C++ だとダメなので、 this->i = i; とかするんだろうか。 いや C++ なら C(int i) : i(i) {} でいいんだけど。 パイソン子なのかな。 まぁ僕はメンバが i_ になってるか、 引数が i0 になってるか、が慣用化されてるなぁ。
まぁ
2. フィールドを参照する際にいちいち読みにいってほしくないとき、 ローカルにキャッシュとしてフィールドの値をおいておくことがあ る。この名前は同じになる。
これがあるので、 D が一つ目が合法なのは 全然正しく感じる。
んで関数内のブロック内の隠蔽はなー。 あ、ちなみに
class C { int i; this() { int i; void delegate() d = delegate void() { int i; }; } }
は合法みたいだ。
んで関数内のブロック内の隠蔽は 禁止しておいた方が妥当な気がするけど、 俺は結構やりたいなーとかいう。
int main() { SDL_Surface* s = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE); // 長い時をへて if (hoge) { int s = 1; }
とかをしばられるのがなー。 いや行儀悪いんだけど書き散らかしコードだから許してよーという。
(15:52)
http://www.digitalmars.com/d/function.html#interpretation
思ったより適用範囲が広い。 これ入力固定の BF インタプリタくらいなら動く?
(16:02)
http://alohakun.blog7.fc2.com/blog-category-5.html
よく使う機械語命令長くらいなら最近は覚えた…と思いつつ、
i;a[] = {4, 9, 2, 3, 8, 6, 3, 2, 1, 3, 5, 7, -0x80000000, 0x7FFFFFFF}; main(){ qsort(a,sizeof(a)/4,4,"YXZ\x83\xec\f\213\0+\x2\303"); for(;i<sizeof(a)/4;i++) printf("%d ", a[i]); puts(""); }
もろに sub じゃダメってケースだった…
% ./a.out 1 2 2 3 3 3 4 5 6 7 8 9 2147483647 -2147483648
まぁ
irb(main):001:0> disasm("\x55\xb9\x01\x00\x00\x00\x89\xe5\x8b\x45\x0c\x8b\x10\xb\x45\x08\x39\x10\x7f\x07\x0f\x9d\xc0\x0f\xb6\xc8\x49\x5d\x89\xc8\xc3") /tmp/irb_disasm1672.0: ファイル形式 binary セクション .data の逆アセンブル: 0000000000000000 <.data>: 0: 55 push %ebp 1: b9 01 00 00 00 mov $0x1,%ecx 6: 89 e5 mov %esp,%ebp 8: 8b 45 0c mov 0xc(%ebp),%eax b: 8b 10 mov (%eax),%edx d: 8b 45 08 mov 0x8(%ebp),%eax 10: 39 10 cmp %edx,(%eax) 12: 7f 07 jg 0x1b 14: 0f 9d c0 setge %al 17: 0f b6 c8 movzbl %al,%ecx 1a: 49 dec %ecx 1b: 5d pop %ebp 1c: 89 c8 mov %ecx,%eax 1e: c3 ret => nil
これはちょっと見ただけで ECX のクリアは xor %ecx, %ecx; inc %ecx; に決まってるでしょ! このオバカ GCC ! とかいう感じなのでまぁいいか。 そもそもスタックフレーム作るなとか。 omit-framepointer つけといたらバイナリ長減ったりするのかな。
あと前から気になってたのですが第四引数でわ。
(16:28)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070216#p02
ls /bin /usr/bin などを送り込んで 確認していただくと良いかもです。
あと「読みやすく」は私の場合 「読みやすく書かなければならない」という 束縛から解放される喜びが大きいなぁ。
あと経由して思い出したように Smalltalk メモ
http://www.gnu.org/software/smalltalk/gst-manual/gst_42.html#SEC102
(17:50)
終わりそうもない。
s='!\"\#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' s.scan(/./) do |a| s.scan(/./) do |b| s.scan(/./) do |c| s.scan(/./) do |d| s.scan(/./) do |e| begin p = a+b+c+d+e puts p fork do eval(p) end rescue end end end end end end
Ruby segv を探そうかと思ったのであった
(20:45)
どれも難しいなぁ。まぁ Minus は入れると決まればカンタンだ。 2DとBALANCEはどう考えても無理だ。
あと純然たるマシンコードサイズを競う場として、 スタックとレジスタが全部クリアされた状態で始まる ヤツもあってもいいかもしれないな。
(20:59)
http://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit02.html
を見てたんだけど、 これのまんまパクリなんじゃないかとか思った。
http://www.csg.is.titech.ac.jp/~kourai/memo/linux_kernel.html
(04:41)
syscall_table.S ってのがあるみたいだというあたりで…
http://kerneltrap.org/node/5802
要するにオマエはバカだと言われているようだ
つまりなんつーかですね。 システムコールなんか Ruby で呼んでもたぶんデカいわけで、 GCC 一派だけ strace でしばりかけて、 他は .so でしばってもいいんじゃね、という
(05:45)
体だりーので予定していたアップデートの類いはちっともしてない!
だりーだりー!
とりあえず Minus はあのフラたんが esoterisのこと50% ゴルフのこと50%とか 考えて作ったに違いない -= しか演算が無い ヘンな言語なので試すといいよ!
特徴はループがむっちゃ書きにくいこと!
aaaioac4 とかで無限ループ echo だ!
a-=a; // a を 0 に a-=i; // a に入力(i) o-=a; // a を出力(o) c-=4; // 4個戻る(cはプログラムカウンタ)
あとは止める方法考えるんだお! ちなみに o-=i だと負数吐きやがる!
(06:32)
ねぼけて目覚ましが鳴ってるのを PCが鳴ってるんだと思って なぜか Ctrl+Alt+Del った。 結果再起動してくれた。 んで xen 上げなおすのとかねぼけててこずった。
アホというかなんというか
(15:33)
こんな綺麗なコードが最短なわけないね。
これはたぶん面白い問題な気がするなぁ。
http://golf.shinh.org/p.rb?multi_key+sort#Ruby
(18:15)
http://d.hatena.ne.jp/Ozy/20070217#p1
僕はこの手のコード見てうひひと思うのは好きなのだけど、 にはさんがインチキするかしないかで四苦八苦とか してるのを考えると、 確率的な方法は潰せるなら潰した方がいいのかもなぁという。
うん。というわけで、ですね。 getpid のカウントを取るとか、 まぁそいうのはアリっちゃアリなんだが、 まぁめどい。
でもとりあえず
echo 0 > /proc/sys/kernel/randomize_va_space
しといた。
うーんめんどいから各自適当に shinh(cheat) とかで 対応していただければ。
あーでもシステムコールのフックはちゃんとやりたいなぁ。
(07:09)
http://golf.shinh.org/p.rb?show+the+way#Ruby
これしか無いよなーというチートをしてたら 当然のようにフラたんとバイナリサイズが同じで面白い。 でも 7B も負けてるなぁ
差が2Bになった
まぁマジメにも解こうよという
(07:23)
プロセス落ちてたのは、 大量の出力があるスクリプトが submit されたからっぽい。 プロセス自体がメモリバカ喰いするとかは すぐ殺されるので問題無いのだけど、 親に大量の出力が来て親が死ぬと終わる、という。 まぁプロセス起動する部分の回りを for i in `seq 1 1000` とかでかこっておいた。
で、この場合、
o = stdout.read
とかでメモリがものすごいことになって死ぬわけだ。 そらそうだ。
んで、
o = stdout.read(10000) e = stderr.read(10000)
とかでいいだろーと思ったんだけど、 なぜか stderr.read(10000) の方が帰ってこなくなった。 stderr に内容がある場合は大丈夫。 あとタイムアウトじゃない場合も大丈夫。 ふーむ IO まわりはわけがわからない。
まぁプロセス死んだ場合は自動再起動するようにしたので、 帰って来ない場合はメモリオーバーで死んでくれた方が ありがたい。よって o = stdout.read で放置しよう。
あ、正解です! むしろバグ発見ありがとうございますというか、 全体的にいいかげんなシステムですいませんという。 ちなみに Ruby だと少々頑張っても プロセス止めるくらいの stdout を送るのは できないみたいだったので、 Erlang の方が速いのではないかという謎の予測が。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070218#p03
(21:58)
いい問題次々考えるなぁ。
http://golf.shinh.org/p.rb?Booklet+Printing
こういうのは Ozy さんが鬼のように 得意という気がするがどうだろう。
俺が出したのって hello とチート伝説 echo と、 冗談でしかない example_com と 42 だけ。 42 は SF ジョーク言えるなんて 俺もハカーの仲間入りじゃね? とか調子乗ってたけど eban さんに自分の甘さを認識させられた。
(22:26)
_ niha [帰ったらまあまともに縮めます。まだ縮むし。帰るの遅いけど。]
_ kosaki [ゴルフ場に限って言えばシステムコールのフックをまじめにやる必要は全然ないんじゃない? 単純にmmapとかgetpid..]
_ shinh [ええ、 LD_PRELOAD でいいというのは、ほとんどの場合正解だと思うのですが、 C や GAS なんかでは、イ..]
_ jijixi [こちらこそ、楽しい遊び場を提供していただいて、ありがとうございます :-) ところで、その後ちょっと調べてみたところ..]
_ Injovjhq [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
js.c 。
/* * Turn buf into a JSString. Note that buflength includes the trailing null * character. */ str = JS_NewString(cx, buf, buflength - 1); if (!str) { JS_free(cx, buf); return JS_FALSE; }
で、 jsscan.c では、
buf[i] = '\0'; return i;
とかやってる。 つまり js.c はコメントからして間違っている。
パッチは瞬時に書けるけど検証とか色々考えるとめんどいか。 最新版でもなおってみたいなので 暇な時にでも Nightly とか見てからパッチ投げるかぁ。
(00:09)
http://d.hatena.ne.jp/w_o/20070218#p3
忍耐力は、他同様、人それぞれだと思う… さっぱりついていない典型例がここに。 あと今に至るまで勉強は単なる趣味なので 受験とかあんまり我慢でも無かったんだよなーという。 英語つまらんから気張らしに物理やるとかそういう。
正確な文書はまさにそうで、 例えばレキシカルスコープという単語を見るとびくっとする。 未だに意味がよくわからない。 {} のことかな。
ということで斜め読み。
http://www.geocities.jp/m_hiroi/func/smlnj04.html
なんとなくわかったような。 Ruby の最近の議論はダイナミックにしようとしてるのかな。
一方一応専門としている物理の方は、 と、言えると良いのだけど、 むしろこっちの方がヤバいって勢いで専門用語が使えない。 「ユニタリ変換のエクスポネントって何ですか ハミルトニアンのことですか? そうならそう書けドアホ」 とか言われていじめられたり、 「それただ○○ってだけだよね」 とか言われて、○○の意味がサパーリわからなくて 「あー、それ」とか適当にゴマかす人生なわけだ。
というわけで
くらいじゃないかとか思うのでした。
あと難しい問題も色々あやしいと思うけど、 出会ってる人もたくさんいるのでまぁそうかもなーという。
(02:36)
Haskell の表現力の強さは本物だなぁと思う。 正直 OCaml はダメだコレという感の記述力の無さだ。 OCaml の大嫌いな部分である string_of_int だとか print_int だとか *. だとか そのへんがモロに影響する。 強い型付けのために…という言い訳は、 Haskell やら GCaml なんか考えると言い訳になってないかなぁ。
でも OCaml は久々に触っても割と書けるのは良いなぁ。
うーむ Haskell 強い。なんか見直すものがあるな。 ハスなんとかとか言ってごめんよ。
http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20070217#c01
ふとお前の言語選ぶ基準はゴルフかと自問する。
ちなみに僕の e.rb はこんな。あと 8B は実に遠い
a=2*v=10**?d a+=v/=$.+=1while 0<v p a+36
(03:11)
最近こう書けると知った。
nil+1rescue p$! raise'str'rescue puts$!
これ結構短いんだよなぁ。 今までの問題で適用できたのもあったのかもしれない… が、今さら見返すとかはなんていうか無理だ。
(03:47)
理由として、結構頑張って書いてもクソみたいな クオリティだったりすることがある。 それで楽しさが減らされちゃってるてのを考えると、 慣れるとこれも楽しいものなのかもしれない、とか思うんだけど。
もうちょい文章書くの慣れたらもう一度考えてみると良い。
(04:11)
http://park7.wakwak.com/~blackbox/#dd2007-02-18_01-50-17
そもそもテストサバは ネットワークから断絶されてる(はず)なので、 example.com は誰かアクセスできるバグ見っけたら 記録出してみて下さい、っていう趣旨のものです。 というかアクセスできたら Ruby は
open'open-uri' $><<open('http://example.com/').read
とかで終わりなので。
(05:22)
http://golf.shinh.org/p.rb?All+Expressions#Ruby
最適化しまくったところ通った。 元のコードは何Bくらいだったっけという感じだ。
(08:31)
せっせと考えたけど1文字読み取って 1文字吐くくらいのプログラムしかできないのであった。
動きみないと死ねるので、 インタプリタ書いておられたなーと思って 眺めてみるもなかなか大変そうで死ねる。 たぶん d の実装が大変なんだよね。
http://d.hatena.ne.jp/oto-oto-oto/20061226/1167145829
(14:43)
http://muffin.cias.osakafu-u.ac.jp/~matumoto/cgi-bin/xt.cgi?prog/lua
via http://d.hatena.ne.jp/epics/20070201/p1
(22:39)
ていうテクニクがたくさんあるな。 全然 Perl 脳になってないなぁ。
http://www.nmt.ne.jp/~ysas/diary/?200702b&to=200702191#200702191
とりあえず -lp 使ってないのはひどい。 寝てるとしか言えない。
(23:08)
は、してなかった。
http://blog-search.yahoo.co.jp/search?p=%A5%B4%A5%EB%A5%D5&cop=
http://sf.livedoor.com/search?q=%A5%B4%A5%EB%A5%D5&sf=update_date
(04:44)
http://golf.shinh.org/p.rb?e#Befunge
下の Minus のエントリと比較するに、 同じ方法で圧縮してるんかな。
Minus ってマイナスしか無いわけだが。
(05:04)
--- js.c- 2007-02-20 06:10:02.000000000 +0900 +++ js.c 2007-02-20 06:11:21.000000000 +0900 @@ -653,9 +653,10 @@ /* * Turn buf into a JSString. Note that buflength includes the trailing null - * character. + * character when readline ends with newline. */ - str = JS_NewString(cx, buf, buflength - 1); + if (gotlength > 0) buflength--; + str = JS_NewString(cx, buf, buflength); if (!str) { JS_free(cx, buf); return JS_FALSE;
(06:11)
https://bugzilla.mozilla.org/show_bug.cgi?id=355827
そうでもないみたいだ。 ってかこれは別にバグじゃないんじゃないのか。
ああ、と思ったけどこれはひどい。 ていうか delete blank line とかどう解くの。
しかも UNCONFIRMED の略が UNCO って! 確認してやれよ! どう見てもこれじゃ困るじゃん! UNCO-! SM! UNCO-!
こんなもんマトモなプログラム言語じゃないなぁ…
(06:28)
は readline 持ってないみたいだな。
まぁこれ当てるだけじゃんねぇ。
https://bugzilla.mozilla.org/attachment.cgi?id=241533
しかし全然 specially に扱ってねえしな。 UNCO!
(06:45)
普通に考えると動的リンクだろうと思ったけど、 もしライセンス内できちんと書いてないのであれば、 たしかになんか微妙なかんじだなぁ。
http://d.hatena.ne.jp/KouMikage/20070214#p1
(07:31)
+ ++ +++ ++++ +++++ ++++++ +++++++ ++++++++ +++++++++ ++++++++++ +++++++++++ ++++++++++++ +++++++++++++ ++++++++++++++ +++[->+++++<]>
27とかくらいだと、
+++[->+++++++++<]> ++++[->+++++++<]>- +++++[->+++++<]>++
の方が
+++[->+++<]>[-<+++>]<
よりいいわけだ。興味深いな。
64でもまだ。
++++++++[->++++++++<]> ++++[->++++<]>[-<++++>]<
125だと…
+++++++++++[->+++++++++++<]>++++ +++++[->+++++<]>[-<+++++>]<
121作る時点で既に負けている。
(08:48)
きた。
タッチパッドは手がつるな。
とりあえず Xcode 入れればいいのかのう。
にしても最初から 17GB とか消費してあるんだなぁ。
Ubuntu つっこんで /home 30GB / 20GB とすると OSX になんぼも HDD のこらん。
ってか /home とか共有できた方が もちろんいいんだろうけどどうするのがベターなのかな。
まぁしばらく OSX で遊びつつ考えよう。
(10:42)
Ruby/SDL を見てみる。 今のところ ctor => main のてっぺん書き換え、っていう libGPL 殺法が一番良さげに思えるという。 あるいは ptrace かね。 mprotect はあるみたい。 ptrace もなんか man が出る。
あとは D の方。 とりあえず片っ端からゆにばーさるばいなり作るのを目標で。 なるべく downloadable なものを利用して作れると良い。
あと tekezo さん works で遊ぶ。
このくらいで飽きるだろう。
(11:52)
http://d.hatena.ne.jp/ytqwerty/20070218#p1
を見てゴルフ場無制限使用会員権をお祝いに! とか書こうと思って忘れてたんだけど、 既に来ておられた。さすがに Ada でかいなー。
(12:15)
def finishLaunchNantoka puts '> finishLaunchNantoka' callcc {|$c2| $c.call } $c3 = true puts '< finishLaunchNantoka' end def _SDLMain_main puts '> SDLMain_main' finishLaunchNantoka puts '< SDLMain_main' end def _Init_sdl puts '> Init_sdl' callcc {|$c| _SDLMain_main } if $c3 exit end puts '< Init_sdl' end _Init_sdl puts 'hutsu-ni SDL' $c2.call
要はこんな感じのを libruby で書けばいいのかな
(13:56)
extern(C)int gets();void main(){for(;gets;)printf("%s ",gets);}
一個目のテストケースは通るのだが。 ところで gets の戻り値を long にするとサバが停止する。 帰ったら考える。
(14:41)
普段から憎いような。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070220#p01
久々に使うと必ず rec 忘れるんですよね。 しかし間違い発見しやすくなるのかぁ。
普段から憎い部分ほどゴルフ的にも嫌いというのはつまりそれは ゴルフ的にアレなところが僕の嫌いな部分ということですね はいそれはなかなか。
とりあえず OCaml は akr さんのハフマン符号がどうこうの精神を 読むべきだと思うんだよな。あと D もそんな感じ。 Haskell はわかってる。 Ruby はもっとわかってる。 Perl はたまに異様にわかっててツンデレ。
(18:24)
_ ySas [BefungeとMinusのeですが、発想は同じかもしれません。たぶん、実際の値は違うと思いますが。あと、私のeは実..]
_ YT [会員権ありがとうございます〜。入会記念に好き勝手言い残しておきます。 まずそのAdaですが、コンパイルオプションに-..]
_ shinh [ご意見ありがとうございますです。-gnat05は加えてみたつもりです(未確認)。そのあたりは追加言語候補としてまた今..]
_ YT [-gnat05確認しました。ありがとうございますー。(ゴルフはしてたくせに)レスが遅くなってすみません。 歓迎会とい..]
_ shinh [レスなどいつでも良いですはい遅延評価とかそのへんで。上でも答えましたがおいわいはぜひ参加させてくださいませませ。]
submitサバが死ぬのは僕的には面白い (なぜなら僕も PKU とか CodeGolf とかにヒドいコード投下しまくりで、 オマエラよくやるなニヤニヤと笑えるから) のだけど、出かけてる時に長期間止まるとちょっと申し訳ないなぁ。
すまんこってす。
なんかそろそろマジメに対策考えようじゃないか。 ちなみに止めた実績のある言語として C++, JS, Erlang, Ruby, Io なんかがあったような。 CLISP とかもあったかな。 ていうか止まった時にちゃんと調べようよ…!
ていうか core 吐くようにしよう
(01:44)
http://www.geekpage.jp/blog/?id=2007/2/16
via http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070220#p02
プログラミングはセックスと似ている。一つの間違いに対するサポート を一生続けなければならない。
ファインマンは「物理はセックスと似ている。過程が目的なのであって、結果生成物に興味はない」とかそんな感じのこと言ってたよな。
たいていのことにこの手のジョークは作れるのかも
(01:56)
とにかくだるい。
lipo -extract ppc libgphobos.a -output hoge.a libtool -static hoge.a -o hage.a ar -x hage.a
とかそんな感じで。
(23:31)
AquaSKKは便利だと思うが、 Emacs は別のモードを持ってるべきです。 woさんもそういっていた。
あとタイトルバーのファイル名の部分から端末にドラドロで 端末にそのフルパスが出るという機能は実にどうでもいい
(02:30)
色々大変だったみたいだ。
まず全部 Universal Binary をそろえないといけない。 SDL とかはある。 libbulletml はまぁ -arch とかつけてコンパイルしなおす。 さて… main の入ってない phobos が必要です。
ar -x とか libgphobos.a にしてもダメ。 Universal Binary に ar は通用しないぜ! んで lipo と libtool で中身を取り出して、 ar -x で展開…すると、同名のファイルを上書きされてダメじゃーん。 しゃーないので ar を展開するツールを作ってドビャーと展開、 んで cmain.o を削除してもう一度固める。
あとはまぁ…コンパイルはまぁ普通に通る。 .ptr とかあちこちにつけて回ることにはなるけど。
リンクで Universal Binary を作りたい場合、 普通なら gcc -arch i386 -arch ppc で終わりだけど、 libgphobos.a をリンクしたくない関係で collect2 のオプションをいじらなければいけないのだけど、 このオプションが i386 と ppc で違ったりしてまた微妙にめんどい。
そんなこんなで isshiki さんのはビルドできた気がする。
ABA さんのはとりあえず最近のは template の循環参照がありましてね… ということで、ソースを全部結合するというソリューションを思いついたので、 ttn 以下と util 以下を別々に結合してコンパイル・リンクすれば動いた。 別々にやる理由は Frame : abagames.util.Frame とか そういう継承のしかたしてるからモジュールをわけないといけないからであったー。
(06:38)
強行突破してクリアした。 そこらの雑魚一匹の一回の攻撃でこっちの パーティが全滅しうる。
FOEよりはるかに雑魚が怖いので FOEを泳がせて赤くなったらFOEと戦闘するとかそんな。
Lv50,50,50,50,39 の ダレメバカ。 レンジャー以外ダメージ与えてないみたいな。
あとストーリーは全く無い方がいいね。
(15:21)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070222#p03
すいませんです。 しかしなんでだろーと原因調査しているうちに通るようになった。 なんでやねん…スワップとかそのへんかなぁ…
(16:14)
http://shinh.skr.jp/m/?date=20070213#c09
誰もマジメに解いてなければかなしい。 あーでも LCS モジュールとかで解いてなかったっけ。 Scheme で。 あーいや Scheme の LCS モジュールは test#3 にパスしないとか書いてありましたねそういえば…
TODO: 親不孝痛くない時にリンクを探す
(02:35)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070221#p02
ハフマンはこれです
http://cvs.m17n.org/~akr/pub/rubykaigi2006-06-10.pdf
で、 OCaml はもうどうしようもなく失格だと思います。
ハフマンの話それ自体は書く側読む側共通で正義かなぁと思います。
ただまぁ Ruby や Haskell なんかは、 別によく使わないのになぜか短く書けるような機能が結構あって、 そういうところをガンガン使ってゴルフしてるのかなぁと。 あとそういう部分がとても多いのが Perl 。
うむまとまらない
(02:43)
http://jbbs.livedoor.jp/game/7135/storage/1086876397.html#14
ネトゲはよくわからないが割と衝撃的なセリフであった
「うだうだAでほざくよりBでケリつけようぜ」 のAとBを、A<Bと定義するとそれは 全順序とかになってるだろうか。
2ch<GAME GAME<リアル こんな所<出るとこ出て みくし<はてな はてな<ブログ 掲示板<オフ 匿名<実名
よくわからんな。 2ch より下はあるのだろうか。
うだうだAでほざくより2chでケリつけようぜ
うーむ。 ありそうなもんだが
(03:00)
いつもながらめんどいが、 migemo関係のソフトを全部入れた、 つまり、 w3m に cmigemo に cmigemo-server/client とかその依存物とか
(07:58)
ふーむ。
まぁあとで調べる。
にしても w3m-img 欲しいねぇ。
あと痛い T-T
(08:16)
もう世界はジョブズのものになるんだと思った。 っていうかジョブスかジョブズかもわからない。 あと端末は打てるようになったけど w3m には日本語通らないからぐぐれない。 あと HHK Pro を MacBook に刺しちゃったので Thinkpad さわらなくなった。
http://d.hatena.ne.jp/atty/20070223/p1
そういえば Firefox 入れてないからえらい不便だったんですね!! Safari ってなんだこれわ!
まぁ僕はいくらなんでも日常使いマシンがゴルフサバになってるのは おたがい不幸だよねーというタイミングで おやねんがんのおかねが手に入ったぞーということで、 Mac はどうせ僕には使えないだろうから Linux マシンとして欲しいもの…ということで探すとどうにも MacBook しか無いという有様で (次点は HP のノートだった理由はかっこいいからとかそんな) まぁスペックとか色々不満はあるけど (もっと重くていいからシルバー層向けに液晶デカくしろとか) なんていうかクロスプラットが服着て歩いてるを 目指しつつ全然目指してない我が家としては、 ウチにも OSX 欲しいよなーというのはごく自然の流れでほげほげ。
案外 OSX のままでも使いものになりそうなんだよなー。 ニッチで誰もやってない w3mimgdisplay と sevilwm の 目処が同時に立ったのはでかい。
ところでホッピーとかいかがですかという。
http://zinnia.dyndns.org/~hiki/SandBox/?%C2%E8%B0%EC%B2%F3%A5%DB%A5%C3%A5%D4%A1%BCOFF
(01:57)
http://d.hatena.ne.jp/w_o/20070223#p1
正規表現ネタキタ。
最近正規表現のことばかり考えてるのですよ 主にゴルフのせいで。
正規表現は可読性最悪なのですが、 短いバイト数に豊富命令を押し込むって能力はズバ抜けてる。 明らかに成功した DSL のトップ1なのは間違いない。
んでそいうこと考えるとこれはどう見ても言語環境つか VM ですっていうノリでね。 入力文字列をスタックと見たスタックマシンとして考えると、 スタックプッシュする関数とか、動的に正規表現をスタックから生成する 機能があればこれっていわゆる Turing Complete !?!? (よくわかってない) なんじゃないかとかそんなことを思ってたのがうんいくらか前の話。
あとたぶん正規表現が正格表現とかも呼ばれるアレじゃないのは あの \1 とかいう 後方参照とかがおーとまとんで書けない例だと理解してたんだけど、 まぁよくわからない。
形式言語理論っていうオートマトンがどうのとか正規表現がどーのとかいう 授業を 5 回も受けた (なんとこれはあの k.inaba さんの推定5倍の数字なのである!!!!) 私が言うのだからまかせてくれといったところです。
ところでホッピーとかどうですか
(02:12)
これも DFA とか NFA とか同様、よくわかってない単語だった。 ただ DFA と NFA はもうわかってるよ前の shiro さんの pdf 見たりしたときにわかった!
んで Turing Complete は なんとかセミナーの時に情報理工のやんごとなき人々が 2D は Turing Complete だけど BALANCE は違うとか言ってて、 まぁそんなもんかなーと思いつつも なんでそんなにすぐわかるんだろーっていうか 何言ってんだコイツみたいなことを思ってたのは 今解きあかされる真実とかはどうでも良くて。
最近フラたんのおかげで Turing Complete について非常にわかりやすい定義を ゲットしまして、 Brainfuck を実装できれば Turing Complete という 非常にすばらしい定義です。 しかしまぁこれだと実装者の腕前によってしまうのだけど、 まぁ実装ができてしまえば論より証拠チックに Turing Complete であることは証明されてしまうのだなぁと。
問題は「うーんコレ Brainfuck 作れるんかよー」とか 思った時なわけだけど、 まぁそれは「俺チューリング不完全」とか呼んでおけばいいと思う。
(09:12)
表示ができるのはとっくにできていて、 あとその位置だけあわせりゃ終わりってとこで苦労してたんだけど、 どっちにせよ位置取得に C 使うんなら最後は Ruby から ObjC にするんだし今のうち移行しておいた方がいいかなーとか でもプロトタイピングは慣れない ObjC より Ruby の方がマシだよなーとか。
ってか作りかけゲームで1500行くらいは書いたみたいなので ObjC でも問題無さそうなのだが。
つまりスクリプト言語でプロトタイピングとかの問題は こういうどうでもいい政治判断をたくさんしなければならないことである。
その点 C はスバラ C !!!!!!!!!!! 迷い、ナシ! C で書くと決めたら後は一心不乱に書くべし書くべし。
(09:20)
Window list から、 w3m が走ってる Window がわからない。 Terminal.app が一つのプロセスで二つ 同じタイトルの Terminal を起動してたりするのがつらいようだ。
PID 渡せばーとか思ったが Terminal.app は同じ pid 。 tty のデバイス名から…ってのもあるんだけどキツい?
フォーカスがあってるかーって情報を取るのが一番普通だと思う。
ただそいう API が拾ったヘッダにない。 てか Carbon を nm で見てるとヘッダに無い API なんてざっくざっくと出てくるのがなんとか。
例:
http://www.google.co.jp/search?hl=ja&safe=off&q=cgscyclewindows&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
で、とりあえずの課題は API 一覧を得ることだったのだけど、 なんか Carbon.framework の下を nm してまわっても 全然定義されてないなーと思ってたんだけど、 ld を ktrace したらわかった。 ApplicationServices の下の CoreGraphics.framework にあるのね。 なんかなんでもないこと調べるのに苦労しててダメだ。
ってかそろそろ書いてかんと調べたこと片っ端から忘れていくなぁ
例えば Workspace って概念は OSX には最初からあるわけで、 X の WindowManager みたく Window を消したり出したりして 作ってるわけじゃないんだよなーとか。 そもそも VirtueDesktop のやってる エフェクトつき切り替えも CoreGraphics の機能ぽいし。
む kCGSActiveWindowLevel 。このあたりかな。 kWindowTitle 以外の使い方が全く不明な CGSGetWindowProperty に渡せばいいんだと思うけど、 うーんしかし誰かがとっくに調べてそうなこと調べてるなぁ。
あと otool -tv がイマイチなので逆アセで調べにくいのも困る。 このへんなんとかしないとな。
(11:26)
Window 一覧が取れたら、最初に出てきた 名前が非ヌルの Window がフォーカスあたってるんだよ!!!!!!!!!!! っていうかフォーカス順にソートしてくれてたよこれ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(11:40)
i@um ~/wrk/cocoa> cat testfocusedwindow.rb require 'focusedwindow' p focused_window i@um ~/wrk/cocoa> ruby testfocusedwindow.rb [9, 400, 583, 388]
わいわい。
(12:30)
_ kosaki [人間がhttp://swtch.com/~rsc/regexp/regexp1.htmlにのってるような状態遷移図を..]
_ k.inaba [>どれがオートマトンで表現できて その正規表現と同じ判定をする関数 bool hoge(char* p) { ....]
_ konn [NSViewとかNSImageとかだったら、isFlippedメソッドを上書きしてYESを返すようにさせると、ふつう..]
_ k.inaba [あうー自己つっこみ。↑↑だと"aとbの個数が同じ"とかがRegularでないのに事実上書けてしまうので微妙でした。一..]
_ wo [>shinhさん 17日はわかりました。また近くなったらメールします。 > k.inabaさん 「メモリサイズ固定=..]
http://jarp.does.notwork.org/diary/200702c.html#200702241
最初は 1\n2\n... をループで作っておいて s/(hoge\n{2})hoge\n/\1Fizz/ みたいな感じでしたが、 そんな感じの方針の方が縮みそうだなぁと変更して 今に至ります。
文字数から数値に変換するロジックは書いてないので ちょっと違いますがまぁ似たような方法で。
http://jarp.does.notwork.org/diary/200702c.html#200702232
あとこの感覚はみんな共通なんだなーと思いました。 一通り終わったなぁってタイミングで もう無理だと昔思ったヤツを見直すと あれ、あれれと。そしてずるずるとハマって エンドレススリープレス。
(06:22)
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070223#p01
ありがとうございます。やてみます。 ブラウザなんかはアンチェリいいなと思うのですが、 端末とエディタは不慣れだからかもしれませんが やはり厳しい気がします。 エディタはいいかもしれませんが。 あと黒背景ってのも関係あるのかしらと思うこのごろ。
正直 OSX は現状のキチンと手の入ってない現状では 気に喰わんところだらけなんですが、 環境いじりより環境ソフト作る方が楽しいので そっちに時間使いすぎで細かい設定全然してないとかいう。
まぁ一覧を書こう…
正直隣に Linux があるからなんとか使えてる感じだよなーという感が強い。
終わったこと。
(06:47)
画像ビューア必要だな。 無けりゃ作ろう。 プレビューなんて派手なのいらんくて、 ただ単に画像出して最大化とかくらいはできて、 q 押したら終了する、ってくらいのものを。
まぁ目下のところ open でも十分ではある。
あと頓着しない子としては既に Emacs のフォントには慣れた気がする。 端末はなんとかしないとな
(11:58)
http://www.garbagecollect.jp/~usa/d/200702c.html#id20070225_P1_2
Ruby のゴルフサポートが強化されるのかっ
とりあえず s/// が欲しいとか
(14:55)
VirtueDesktop がこの上なくキチンと作ってくれている。 DEC がどうとかいう部分ひっこぬいたら Window の上下のテストが動いた。
あとはキー入力を受けられたらいいわけだけど、 それはランチャソフトとかでいいかな。 → QuickSilver で良さげ。こんさんには感謝であることよ
一刻も早く欲しいのは SWITCH_(LEFT|RIGHT|DOWN|UP|...) として、 あとはWindowを端にふっとばすのとチョイ移動。 画面最大化は Witch にあるしいいか
(16:31)
CGSSet* をそのまま使うには Dock と同じ立場であるところの Universal なんとかにならないといけないらしい。 それになるには Dock を殺す必要がある。 師を殺さなければ免許皆伝とは言えぬー。 それはよくわからんがちょっとありえない気がする。
んで Dock と通信する方法がこうあるみたい。
ってか Window を上に出すのもプロセスに フォーカス当てるのもできてるのに、 同一プロセス内でスイッチした時に Window が上に出るだけでフォーカス当たらんというのがなんとも。
あ、なんか一旦フオーカス捨てればいいのかも
(18:54)
なんかちゃんと動くのは感激ですな。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070225#p02
あと僕も必要な時だけ画像表示なのですが、 最近はどうも「必要な時」が増えているような気がします。 プログラム関係の調べ物でも 図とか画像で入れてるところが結構あったりと。
あとズレる方向はうちだとむしろ下… と思ったら screen の有無で結構変わるみたいでした。 screen 無いと上の方に。 正直 screen あるか無いかとか調べよう無い気がするんだけど どうなのかなー。 でも X のヤツはどうしようもなくキチンと位置あってるなー。
まぁ色々知識不足なので動けばいい主義のいいかげん物体です。 あとあまりささっとでもないというか どろっとアチコチ寄り道しながら色々調べて…という。 まぁ新しい環境調べるのは楽しいもんですなぁという。
(20:46)
だいたいわかった、と思う。
Accessibility API とか NSAccessibility つーのは プロトコルであって、このへんのキーワードで探すと Cocoa アプリを作る側はこいう規約にそってぷろぐらむすると ユーザにやさしいでちゅよーとかそいう感じ。
んでそれを使う側になるのはたぶん主に Apple Script で、これは内部的には Apple Event とかいうのになって飛んでいく、とそんな感じ。 なんかしらんけど Apple Script は Window ID とか使ってるし、 AXFocused とかいうのをセットゲット…と思ったらダメじゃん Carbon Emacs この属性サポートしてないよ!
なるほど規約に沿ってくれとおねがいする気持ちもわかるというか
(21:23)
Window switch 動いたぽい。
これならまこすてんも許せるかもなー。
まー微妙にバグあるがそれはまた取れるだろう。 それより毎度プロセス動くからちょっと遅いかもなぁ。 まぁ気になるほどでも無いと信じよう。
しかし Window switch するアプリは 結局 witch しかなかったってことは みんな Expose マンセーかフルスクリーン&仮想デスクトップ派なんだなぁ。
(02:29)
Window 自在に動くようになった。 しかもコマンドラインツールで window switch というのはなかなか面白い。 blackbox とかがそんな感じだったっけ。 ちょっと遅いのは OSX のせいだと思うなー。 たぶんクエリよりスイッチ本体に時間かかってそう。 完全にカンだが。
もう見掛けがオサレなだけで中身はかなりいい感じになってきた。 要は俺は w3m と sevilwm ラブなのだなぁという。 あと GCC と Emacs が動けばそれで良いのである。 最近すんごい気になるのは Terminal.app で w3m の文字がよく化けてることかなぁ。
(09:39)
わけのわからん Window を 57個も作っているらしい。 なんでだと思うが、それ以前にこんなもん無視できないといけない。
CGSの方で、titleが入ってるウィンドウが無ければ飛ばす、 とかで良いとは思うんだけど、ちとめんどくさいな。
まぁサックリと。ソース汚なくなるな。
これもひどいよなー。 1 がルートウィンドウと決めうち。
// it is never proper way to get screen infos CGRect rect; CGSGetScreenRectForWindow(cid_, 1, &rect); screenW_ = rect.size.width; screenH_ = rect.size.height;
NSScreen の Carbon バージョンがわからんという。 さすがに Apple Event ナシでいけるだろうとは思うが。
(10:30)
できた。
しかし Apple Event はなんか遅いなぁ。 俺の使いかたが悪いのかな。
あとは maximize つけて Witch 捨てるかね。 てか maximize って OSX 標準で無いんかという疑問も。
(11:44)
http://d.hatena.ne.jp/atty/20070225/p2
僕の場合は、以下が完全に私と同じです。 普通にスペック見て第一候補になるのが Mac つーのもすごい話ですよね。
あとホッピーは残念です。 物体としてはビールみたいなそんな系統の。 会としては私もなんなのかよくわかってません。 また今度機会があればぜひ。
(13:01)
透過 gif が見えてないな。 まぁなんにせよ全体的に作りなおす必要はある。
あとは HHK Pro なんとかしないといけないなあ。 キー配置全然違って全然抜き差しできない。
たぶん二種類解があって、
ただどっちにせよ OSX は Fn+[asd] で突然ボリュームの 設定が変わるのがうざいので、 外付けキーボードだけの設定を変えられるかどうか 調べる必要があるなーというところ。
(14:42)
http://homepage.mac.com/kenie/Projects/JANSI/MacOSX10.4/index.html
こいうの使えばメインキーボードが不便になる覚悟をすれば 使えるわけだなぁ。
(14:48)
痛いなぁ。
よって健康センター行ったら入試で閉まってたので バファリンを買ってみた。 カゼひいても薬は買わないのに口内炎で買うとか。
あと57個ってのは要は読み込んだ画像の数だよな。 NSImage 作った時点で表示とかなんもしてないのに Window になってるってわけか。 となるとやはり適切にフォーマット変換して byte* で持ってすぐ解放すべきか。
ただなんか、 画像読み込み→tiff→読み込んでbyte*に→フォーマット変換 、とかなんか貧乏症には耐えがたいものがあるな
(15:23)
http://shinh.skr.jp/m/?date=20070224#c09
NP と PSPACE を俺定義で区分する何か無いかな。 答え聞いて俺がその答えあってると調べられたら、とかでいいのかな。
PSPACE と EXPTIME はもっとよくわからないな。
俺定義なので P!=NP は前提となっているという。
(15:34)
ひさびさに本屋行ったら欲しい本がたくさんあってびっくりした。 欲しい本がありすぎて何も買わなかった。
まぁメモだけ。
(15:44)
ずっと健康にこだわってもしゃーないと思ってたけど、 最近健康は大事なんじゃないかと思ってきた。
というのも、僕の場合は健康を気にせずやることって言っても それは別にたいしたことじゃなくて、 生産的なことは眠くない時にガーとやってるんだよな。 健康に悪い、ダラダラ寝てない時とか ハラ減って動く気も失せてる状態とかは、 ただ健康に悪いだけであって、 それは太く短くを指向しているフリをして 細く短くを実践しているに他ならないという。
もうなんかずっと腰痛は慣れたし 1月入ってから半分は風邪みたいな現状に 参ってるだけで健康になったら また無計画に生きるに違いないのだが
(15:56)
http://www.garbagecollect.jp/~usa/d/200702c.html#id20070226_P1_8
これ面白そうなんだよなーと考えてみた。
前方一致だと結局かぶってる名称が多いのでうまくないという話がある。 こんな感じにするともっと縮んでいいかも。 each_with_index は使いたい時は結構あるのに長くて絶対使わないからな
class Object def method_missing m, *a, &b # t = (public_methods + private_methods).sort.find{|e| /^#{m}/ =~ e.to_s} t = (public_methods + private_methods).sort.find{|e| /^#{"#{m}".gsub /./,'\&.*?'}/ =~ e.to_s} t ? __send__(t, *a, &b) : super end end if $0 == __FILE__ p ob pr s='Hello World!' v=[*'A'..'N'].e__{|v,i|pr v,i} s.r! puts s end
出力は
i@um ~/wrk/ag> ruby19 goruby.rb -604162848 Hello World!A0B1C2D3E4F5G6H7I8J9K10L11M12N13!dlroW olleH
p は (protect|public|private)_methods が邪魔で使い勝手悪いな。
(18:03)
アイコン化って実は使えるなーとふと気付いた。 むしろなんで今まで気付いてなかったんだ。
Ctrl+Alt+t とかでウィンドウ出して、 irb 起動してちょっと計算、 で、そのウィンドウ邪魔だから 他の仮想デスクトップに捨てるか消すかしてたわけだけど、 iconify しておくといい。 あとは iconify したものをキーボードで Alt+Tab 式のスイッチで拾って来る機能があればそれでいい。
(18:59)
要は裏バッファではないかと。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070226#p03
僕は端末*2をscreenで倍増させて4個と emacs*2をelscreenで倍増させて4個というのが基本形。 これたぶん木構造作ってるんだよな。 まず仮想デスクトップ切り替えて、 sevil で Window を一手で選択して、 次に screen 切り替えで一手。
screenで4枚以上のscreen管理する人は役割を固定するぽいけど、 それはちょっとわからないなぁ。 なんか必要なシェルの数って起動時間にあわせて増えてくんだよな。 時間がたつとたいてい10越えるくらいは zsh 動いてる気がする。
空間有効活用と言えば是非中途半端な 半透明は実現したいと思ってたということを思い出したが、 Wanderlust がなんかおかしくなるな。
つーか半透明化はどうせ Accessibility API でケリつくんだから sevil につっこめばいいや。
(22:30)
一瞬ででけた。
そういやウィンドウふっとばしたい時に VirtueDesktop はフォーカスあってるウィンドウじゃなくて マウスの下にあるウィンドウ飛ばしてるっぽいんだよな。
これは VirtueDesktop いじってもいいし、 sevil 側にスイッチ時にマウス位置をそろえる機能つけてもいいし。
(22:35)
ウィンドウに移動用のキーを書いておくってのは賢いなぁ。 タイトルバーはそもそも消したいわけだが。 でも HaH 風の移動は便利な人には便利かもしれない。 でもうーんそのへんやるとなると WM 書きたくなるんだよなぁ。 あと僕が魅力感じるかというとノーかなぁ。
あとさっき気付いたけど QuickSilver のキー押しっぱなしの時に 連打してくれる機能は良い。 ウィンドウ移動が快適に
(22:56)
前々から思ってたけど open はホントに便利だなぁ。
ttf がガーと広がってるフォルダでさてどうしよう…と思って、 なんとなく open *.ttf とかしたらそれでいいのね
(08:25)
http://www.kmonos.net/wlog/#_2111070226
ちょうど昨日二人用ゲームは PSPACE で…とか いう話を喋ってたけどよくわからんかったのだけど、 こいう説明されるとよくわかるなぁ。
QBFって昔聞いた気もするけど忘れてたな。 コレが PSPACE だってのをふにおとしてないから イマイチぴんとこないんだよなたぶん。
将棋って EXPTIME なのかあ。
なんかプログラマのためのよくわかる情報みたいななんか誰かないかな。
Lazy K とかでぐぐってて気付いたけど この人なんかすごいな
(10:54)
どーせコンパイル通るようにいじるんならついでに OSX バイナリ作るか。
んで iTunes のアレを勝手に持ってきて使うつーのはどうか。 m4a つーのは SDL_sound に無いよな。 まぁそんなもんなんとでもなるさ
(11:08)
要は下にメイン画面にフォーカスがあってない時があってうざいわけだ。 そしてフォーカスのあてかたもよくわかっていない。 んなら簡単でメイン画面のフォーカスあてるもの書けばいい。
(12:46)
もう死ぬよねって勢いで2,3日何も喰ってなかったので バファリンで鎮痛してそのスキにバカ喰い。 まぁ鎮痛してるくらいで喰えるようになったのは良いことだ。
だいたい大きい口内炎って治してるスキに必ず転移するのって、 口内炎→メシ喰えない→栄養不足→転移、って 流れだよなたぶん。 となると鎮痛剤は極めて重要だと気付く。
そして当然ながら今も新しいのができつつあるんだよなぁ
(12:50)
前から行ってみようと思ってた安ラーメン屋に入って気がついたことは、 この店来たことあるじゃんということだった。
まぁ290円にしてはみたいなおいしさなんだけど、 気づいてみるとホッピーとかつまみとか結構色々あって しかも安いなぁと
(20:27)
俺は基本的にフォントに嫌われていて、 例えば人のフォントの設定をコピペしてもたいてい うまく動かんのだ。 ぐおー。 ぐおーとか言いながらもうイヤだまたトラウマ歴史が増えるよ フォントむずかしいよ…と思ってた。
とりあえず、
まぁホントは違うフォントとかイヤなのだが。
(23:53)
Terminal.app よりは化ける確率減ったかなぁと 思いつつもやはり気になるのでいじろうと思って ソースぶちまけてコンパイルしたらフツーに文字化け減ってる気がする。
しばらくCVS先端のバイナリ使うかぁ。
VT100Screen.m を '#' で探せば文字化けの原因調査はできそうとメモ
(09:21)
には入らないみたいだ。
んーむ何コレ
#define isJPEncoding(e) ((e)==0x80000001||(e)==0x8||(e)==0x15)
どう見てもドキュメントに EUC なら 3 って書いてあるんだが。
#define isJPEncoding(e) ((e)==0x80000001||(e)==0x8||(e)==0x15||(e)==3)
とか修正すると EUC-JP のデコードルーチンには入ったが、 文字化けがひどくなった。 自前でやるより NSString にやらせた方がマシっつーことですか。
(10:34)
日本語表示部分でログ取ってみたけど、 こんなの来てるんじゃ化けてもしょうがない気がするなぁ。 むー screen が悪いとも思えんのだが。
0xcb0xa4 だったものが 0xcb0xcb0xa4 とかになって来るんだが、 端末ってそいうもんなのかね。
(11:29)
節穴なので同じに見えても自信持てないという。
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070228#p02
あと monaco がコーディングに…は主観の問題ですが 私は同意しかねますですはい。 いや悪くは無いと思うのですけど。 こうなんというか、
imgs[n].h = [img size].height; imgs[n].bpp = [srcRep bitsPerPixel];
srcRep の R の上の文字は何?みたいなのが難しいような。
あとうちで見ると I がありえんですね。 l や 1 と区別つかなさすぎというか。
あと w3m の書体としては monaco いいなぁ。 0 数字がいい。
まーフォントってのは色々難しいなぁという。 なんせ日本語に関しては誰がどう見ても K14 一択だろうとか 思うのに全然賛同得られないしなぁ。
(12:07)
6.6 にしろという話だけど、 アレをコンパイルするのは避けたい。 バイナリ配布のヤツ使うとかでなんとかなるかねー。
(12:52)
http://homepage3.nifty.com/worldtraveller/cuba/cubalist.htm
via http://alohakun.blog7.fc2.com/blog-entry-673.html
ギャグで書いてるのかきわどいラインだなぁ
(14:31)
あってもキツかったような気がしたけど記憶が。 (帰ったら調べる)
いずれにせよ monaco 使うならアンチェリある方が好みだなぁと 思いながら日本語の方がアンチェリつきだと僕には辛くて ギーガーと。
まぁフォントはもう慣れてきたし、 その場しのぎでなんとかしようとせず ゆっくり考えて良くしていこう… とりあえず 7x14&K14 などこでも使える ttf 作れればいいと思うんだ。
(15:22)
ってのはなんかバイトかなんかで 改善法があるのに古いやり方に慣れてるせいで それをしないってのはマズいですよねー的に喋ってた時から なんかスローガン化してるわけだけど。
なんかどっちが慣れかわからんよなーという。 古い環境に慣れすぎてて新しい環境でもアレがねえコレがねえと 叫び回るつー意味の慣れと、 新しい環境に慣れすぎて古い環境の良いところを忘れてしまうという 意味の慣れと。
前者を避けたいからとりあえずしばらくは X 入れない…とか 3日くらいはあんまりカスタマイズしない、とかしてたわけだけど、 結局なんか叫び回ってるし、 あと逆に新しい環境に慣れて古い環境と比べて不便になったとこも まだまだあるなぁ。
まー結構時間かかるねコレという。
まぁだいぶ減った
(15:32)
問題文にあるようにリンクはってあるからじゃないですかねえ
と思ったら他からもリンクはられてた。 そういえばリファラはここに。
http://golf.shinh.org/refer.rb
(22:16)
_ tekezo [Monaco 12.0 pt & AA あたりで使うと可読性高めだと思いますが、 たぶん shinh さんの使い方だ..]
前 | 2007年 2月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ ySas [WindowsのActivePerl5.8.8では-pでも動きます。うちのLinuxに入ってた5.8.7だと確かにエ..]
_ sumim [tennis のサンプルが二ゲーム以上の差のとき6で終了していません。]
_ shinh [> ySasさん おやそうなのですね。 -p で動く方が自然ですよねぇ… > sumimさっ テニスのルール間..]