トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

ToDo:


2007-02-23

_ うーん

おやしらずが異様に痛くて何も考えられぬー

(00:43)

_ 端末日本語

もう EUC-JP にしちゃえ、ってことで変えたらよくなった。 Emacs のフォント気にいらないなぁ。

でもそういや w3m-img が無いんだよな

(01:18)

_ ぬーん

SKKだけど、 ほげほげうんこ Ctrl+m とかは確定&改行になってくれると良いのだが

(01:40)

_ 痛い

親知らずが痛すぎて、 間違って親不幸 痛いでぐぐってしまった。

(02:17)

_ LCSマジメに解いた人募集

http://shinh.skr.jp/m/?date=20070213#c09

誰もマジメに解いてなければかなしい。 あーでも LCS モジュールとかで解いてなかったっけ。 Scheme で。 あーいや Scheme の LCS モジュールは test#3 にパスしないとか書いてありましたねそういえば…

TODO: 親不孝痛くない時にリンクを探す

(02:35)

_ 要するに

親不幸痛すぎてなんか反応しようと思ったとことか 全部スルーしてるな

(02:35)

_ rec

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)

_ うだうだ2ちゃんでほざくよりGAME内でケリつけようぜ雑魚が

http://jbbs.livedoor.jp/game/7135/storage/1086876397.html#14

ネトゲはよくわからないが割と衝撃的なセリフであった

「うだうだAでほざくよりBでケリつけようぜ」 のAとBを、A<Bと定義するとそれは 全順序とかになってるだろうか。

2ch<GAME
GAME<リアル
こんな所<出るとこ出て
みくし<はてな
はてな<ブログ
掲示板<オフ
匿名<実名

よくわからんな。 2ch より下はあるのだろうか。

うだうだAでほざくより2chでケリつけようぜ

うーむ。 ありそうなもんだが

(03:00)

_ フォント

ヒラギノとやらよりはるかにK14がいい気がするんだが。

マカーはフォントが良い良い言うけど 俺は目が不自由なのかわからないなぁ。

(06:47)

_ migemo

いつもながらめんどいが、 migemo関係のソフトを全部入れた、 つまり、 w3m に cmigemo に cmigemo-server/client とかその依存物とか

(07:58)

_ AquaSKK

ふーむ。

  • Windowごとにstate を持って欲しい
  • Ctrl+m は入力確定+改行であって欲しい
  • q でカタカナにした時の単語を辞書に入れる必要はどこにもない

まぁあとで調べる。

にしても w3m-img 欲しいねぇ。

あと痛い T-T

(08:16)

_ AquaSKK

そもそも端末で日本語入力モードに切り替えられないというのもひどい

(10:04)

本日のツッコミ(全2件) [ツッコミを入れる]

_ m.ukai [LCS は OCaml toplevel だと高速化しても3つめが timeout ですーって時間が間に合ったとして..]

_ jijixi [AquaSKK が Terminal.app でひらがなモードに切り替えられないのは、どっちかと言うと Termin..]


2007-02-22

_ OSX

普通に普段やってることができるようになってきて困る

それより問題はあいつーんずとかいうやつを使ってることだろう

(01:29)

_ OSX

AquaSKKは便利だと思うが、 Emacs は別のモードを持ってるべきです。 woさんもそういっていた。

あとタイトルバーのファイル名の部分から端末にドラドロで 端末にそのフルパスが出るという機能は実にどうでもいい

(02:30)

_ VirtueDesktop

衝撃的によくできている。

まかーになりそうでやばい

(03:17)

_ D & OSX & SDL & Universal Binary

色々大変だったみたいだ。

まず全部 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)

_ 世界樹

はなびらこわい

(11:20)

_ 世界樹

強行突破してクリアした。 そこらの雑魚一匹の一回の攻撃でこっちの パーティが全滅しうる。

FOEよりはるかに雑魚が怖いので FOEを泳がせて赤くなったらFOEと戦闘するとかそんな。

Lv50,50,50,50,39 の ダレメバカ。 レンジャー以外ダメージ与えてないみたいな。

あとストーリーは全く無い方がいいね。

(15:21)

_ うーん

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070222#p03

すいませんです。 しかしなんでだろーと原因調査しているうちに通るようになった。 なんでやねん…スワップとかそのへんかなぁ…

(16:14)


2007-02-21

_ うーん

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)

_ 面白すぎる

http://d.hatena.ne.jp/sumim/20070221/p1

(17:17)

_ うーむ

  • exec のチェッカは全部チェックしなおすべき
  • というかいいかげん unittest 書く
  • 落ちるコードサブミットは深夜にでも

(17:26)

_ SRC

って打とうとしたらちょっと手がずれて SEX になった。 すばらしい罠配置だ。今まで気付かなかった。

(20:23)

_ なんか

timeout時に出力取ろうとするのがマズい気がする

(20:33)

_ testsrv

なんか殺した後に標準出力回収しようとすると、 select は成功するくせに帰ってこなくなるみたい。 なんとかするまでとりあえずタイムアウト時の標準出力回収停止。

(20:48)

_ ゴルフ

突然再起動したと思ったら critical temperature reached (91.0C) とか kernel が吐いてた。

どうしたものか。

_ libtool

とにかくだるい。

lipo -extract ppc libgphobos.a -output hoge.a
libtool -static hoge.a -o hage.a
ar -x hage.a

とかそんな感じで。

(23:31)


2007-02-20

_ うーん

http://zenmetsunotora.blog89.fc2.com/blog-entry-41.html

納得できないなぁ。

(01:06)

_ これ

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)

_ Rhino

は readline 持ってないみたいだな。

まぁこれ当てるだけじゃんねぇ。

https://bugzilla.mozilla.org/attachment.cgi?id=241533

しかし全然 specially に扱ってねえしな。 UNCO!

(06:45)

_ なんか微妙なやりとりで入ってるなぁ

https://bugzilla.mozilla.org/show_bug.cgi?id=300841

(07:06)

_ LGPL

普通に考えると動的リンクだろうと思ったけど、 もしライセンス内できちんと書いてないのであれば、 たしかになんか微妙なかんじだなぁ。

http://d.hatena.ne.jp/KouMikage/20070214#p1

(07:31)

_ なんか

kounoike さんが猛っておられる。

swap と rotate で記録更新、かな。

(08:21)

_ rotate

http://golf.shinh.org/p.rb?rotate+lines#Perl

2秒で追いついた。そらそうだ。

(08:22)

_ 15からということでよろしいか

+
++
+++
++++
+++++
++++++
+++++++
++++++++
+++++++++
++++++++++
+++++++++++
++++++++++++
+++++++++++++
++++++++++++++
+++[->+++++<]>

27とかくらいだと、

+++[->+++++++++<]>
++++[->+++++++<]>-
+++++[->+++++<]>++

の方が

+++[->+++<]>[-<+++>]<

よりいいわけだ。興味深いな。

64でもまだ。

++++++++[->++++++++<]>
++++[->++++<]>[-<++++>]<

125だと…

+++++++++++[->+++++++++++<]>++++
+++++[->+++++<]>[-<+++++>]<

121作る時点で既に負けている。

(08:48)

_ 少し頭ひねったら

なんかピピンと下りてきた。全然違うコード。

http://golf.shinh.org/p.rb?hello+world#Brainfuck

(09:39)

_ まくぶく

きた。

タッチパッドは手がつるな。

とりあえず Xcode 入れればいいのかのう。

にしても最初から 17GB とか消費してあるんだなぁ。

Ubuntu つっこんで /home 30GB / 20GB とすると OSX になんぼも HDD のこらん。

ってか /home とか共有できた方が もちろんいいんだろうけどどうするのがベターなのかな。

まぁしばらく OSX で遊びつつ考えよう。

(10:42)

_ OSX で遊ぶことリスト

Ruby/SDL を見てみる。 今のところ ctor => main のてっぺん書き換え、っていう libGPL 殺法が一番良さげに思えるという。 あるいは ptrace かね。 mprotect はあるみたい。 ptrace もなんか man が出る。

あとは D の方。 とりあえず片っ端からゆにばーさるばいなり作るのを目標で。 なるべく downloadable なものを利用して作れると良い。

あと tekezo さん works で遊ぶ。

このくらいで飽きるだろう。

(11:52)

_ testsprite

Window モードだと 50FPS でフルだと 1800 。

(11:54)

_ Ruby/SDL

http://shinh.skr.jp/rubyrun.c

これコンパイルしてインタプリタとして使うだけで十分なような。

(12:11)

_ 祝い

http://d.hatena.ne.jp/ytqwerty/20070218#p1

を見てゴルフ場無制限使用会員権をお祝いに! とか書こうと思って忘れてたんだけど、 既に来ておられた。さすがに Ada でかいなー。

(12:15)

_ callcc

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)

_ even.d 63B

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)

本日のツッコミ(全5件) [ツッコミを入れる]

_ ySas [BefungeとMinusのeですが、発想は同じかもしれません。たぶん、実際の値は違うと思いますが。あと、私のeは実..]

_ YT [会員権ありがとうございます〜。入会記念に好き勝手言い残しておきます。 まずそのAdaですが、コンパイルオプションに-..]

_ shinh [ご意見ありがとうございますです。-gnat05は加えてみたつもりです(未確認)。そのあたりは追加言語候補としてまた今..]

_ YT [-gnat05確認しました。ありがとうございますー。(ゴルフはしてたくせに)レスが遅くなってすみません。 歓迎会とい..]

_ shinh [レスなどいつでも良いですはい遅延評価とかそのへんで。上でも答えましたがおいわいはぜひ参加させてくださいませませ。]


2007-02-19

_ これか

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)

_ わらた

http://d.hatena.ne.jp/sumii/20070217/p1

この手の技術で場合によって縮む言語とかあったら面白いだろうな

(02:41)

_ ただ

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)

_ rescue

最近こう書けると知った。

nil+1rescue p$!
raise'str'rescue puts$!

これ結構短いんだよなぁ。 今までの問題で適用できたのもあったのかもしれない… が、今さら見返すとかはなんていうか無理だ。

(03:47)

_ 論文を書くのがつまらない

理由として、結構頑張って書いてもクソみたいな クオリティだったりすることがある。 それで楽しさが減らされちゃってるてのを考えると、 慣れるとこれも楽しいものなのかもしれない、とか思うんだけど。

もうちょい文章書くの慣れたらもう一度考えてみると良い。

(04:11)

_ 人類の大罪は

水曜までに処理

(04:26)

_

http://park7.wakwak.com/~blackbox/#dd2007-02-18_01-50-17

そもそもテストサバは ネットワークから断絶されてる(はず)なので、 example.com は誰かアクセスできるバグ見っけたら 記録出してみて下さい、っていう趣旨のものです。 というかアクセスできたら Ruby は

open'open-uri'
$><<open('http://example.com/').read

とかで終わりなので。

(05:22)

_ なんだよ

open'open-uri' って。もちろん require'open-uri' が正解。 ってか shebang でやった方が短いか。

(05:24)

_ スピードを

http://golf.shinh.org/p.rb?All+Expressions#Ruby

最適化しまくったところ通った。 元のコードは何Bくらいだったっけという感じだ。

(08:31)

_ unlambda

せっせと考えたけど1文字読み取って 1文字吐くくらいのプログラムしかできないのであった。

動きみないと死ねるので、 インタプリタ書いておられたなーと思って 眺めてみるもなかなか大変そうで死ねる。 たぶん d の実装が大変なんだよね。

http://d.hatena.ne.jp/oto-oto-oto/20061226/1167145829

(14:43)

_ AWK本届いたのでがんばります

http://www.garbagecollect.jp/~usa/d/200702b.html#id20070219_P4_1

ホントか

(21:12)

_

IMG_Load ってマクロじゃなかったのか… あー magic だけじゃなくて拡張子も判別の情報になるからかな。

(22:20)

_ どうでもいいけど

example.com 落ちてるよな

(22:45)

_ 何コレ

ていうテクニクがたくさんあるな。 全然 Perl 脳になってないなぁ。

http://www.nmt.ne.jp/~ysas/diary/?200702b&to=200702191#200702191

とりあえず -lp 使ってないのはひどい。 寝てるとしか言えない。

(23:08)


2007-02-18

_ pid

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)

_ こっちでも

http://golf.shinh.org/p.rb?show+the+way#sed

2B負けてる。

1B差になった。

1B勝った。

(07:31)

_ しかしまー

Rubyの人ってのはすごいなぁ。 こう俺がそれなりに長い間かけて蓄積してきた 大量のバッドノウハウを使って問題解いてるのに、 普通に追いついてくるっていうか。

(08:05)

_ 世界樹

FOEと戦うとTPが全快するから 帰る機会が無いなーと突撃してたら全滅した。 結構な時間が。

(09:30)

_ アレフ

http://www.aleph-lang.org/

これ入れてみたんだけど、 ベル研のヤツは Alef だよなと思ったのであった。

(11:13)

_ 言語増やすのに夢中になってたら

フロ湧かしすぎた

(11:16)

_ ゴルフのしすぎは

あなたの家を火事にする恐れがあります。

それはそうと hello.curry は相変わらずリンク通らん。

ということで A+ と J かなぁ。

(11:19)

_ そしてうめすぎた

うめるって関西語かね

(11:38)

_ なるほどなぁというか

プロセス落ちてたのは、 大量の出力があるスクリプトが 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)

_ というか

Erlang の使いかたのアドバイスありがとうございますという。

(22:02)

_ しかしみんな

いい問題次々考えるなぁ。

http://golf.shinh.org/p.rb?Booklet+Printing

こういうのは Ozy さんが鬼のように 得意という気がするがどうだろう。

俺が出したのって hello とチート伝説 echo と、 冗談でしかない example_com と 42 だけ。 42 は SF ジョーク言えるなんて 俺もハカーの仲間入りじゃね? とか調子乗ってたけど eban さんに自分の甘さを認識させられた。

(22:26)

本日のツッコミ(全5件) [ツッコミを入れる]

_ niha [帰ったらまあまともに縮めます。まだ縮むし。帰るの遅いけど。]

_ kosaki [ゴルフ場に限って言えばシステムコールのフックをまじめにやる必要は全然ないんじゃない? 単純にmmapとかgetpid..]

_ shinh [ええ、 LD_PRELOAD でいいというのは、ほとんどの場合正解だと思うのですが、 C や GAS なんかでは、イ..]

_ jijixi [こちらこそ、楽しい遊び場を提供していただいて、ありがとうございます :-) ところで、その後ちょっと調べてみたところ..]

_ Injovjhq [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]


2007-02-17

_ 明らかに一人やってることが違うので

公開 exit.rb

p (~/e/-3)%258

(00:53)

_

これと僕の混ぜるだけで5Bは縮むな。

http://www.math.sansu.org/u/diary/?date=20070216#p04

(01:01)

_ kernelも意見発信したい><

procfs とかにファイル生やすとかそいう苦労をしたくない場合、 printk とかしか無いのかな。 これはめんどい。

(04:35)

_ 参考文献

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%とか 考えて作ったに違いない -= しか演算が無い ヘンな言語なので試すといいよ!

http://darrenks.com/minus/

特徴はループがむっちゃ書きにくいこと!

aaaioac4 とかで無限ループ echo だ!

a-=a;  // a を 0 に
a-=i;  // a に入力(i)
o-=a;  // a を出力(o)
c-=4;  // 4個戻る(cはプログラムカウンタ)

あとは止める方法考えるんだお! ちなみに o-=i だと負数吐きやがる!

(06:32)

_ esoteris

って何! 知らない単語無理して使うんじゃないよ!

(06:33)

_ よくわからんけど

なんか Ruby のバグ踏んでる気がして 1B 減らない。

(08:13)

_ ぎぐぐ

ひどい。糸忘れたから ミッションクリア後に全滅した。

(09:37)

_ 第五層

ウケた

(10:40)

_ るびのばぐ

じゃねって言ったヤツはばぐでもなんでもなかった><>←さかな

(12:09)

_ ねぼけた

ねぼけて目覚ましが鳴ってるのを PCが鳴ってるんだと思って なぜか Ctrl+Alt+Del った。 結果再起動してくれた。 んで xen 上げなおすのとかねぼけててこずった。

アホというかなんというか

(15:33)

_ さすがに

こんな綺麗なコードが最短なわけないね。

これはたぶん面白い問題な気がするなぁ。

http://golf.shinh.org/p.rb?multi_key+sort#Ruby

(18:15)


2007-02-16

_ 隠蔽

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)

_

JSのエントリが一個メモリ不足で死んでるな。 ていうか 99 で速度不足とか大丈夫だろうか。 cron動いてたとかかもしれないけど。

(15:57)

_ compile time function evaluation

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)

_ AWK

アマゾンで AWK 本注文した。

(16:40)

_ sh

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)

_ 3300万回

Rubyを起動させたらどのくらい時間を喰うだろうか。

(20:39)

_ うーん

終わりそうもない。

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)

_ 今晩かなぁ

  • Erlang
  • Minus
  • A+
  • J
  • Unlambda
  • Curry

どれも難しいなぁ。まぁ Minus は入れると決まればカンタンだ。 2DとBALANCEはどう考えても無理だ。

あと純然たるマシンコードサイズを競う場として、 スタックとレジスタが全部クリアされた状態で始まる ヤツもあってもいいかもしれないな。

(20:59)

_ そいや16

センセは非常に穏当な意見でつまらなかったのだった。

ふと思ったけど NP-complete 解くってのはアレじゃないかな。 exptime 使って解くってことじゃ。

(21:19)

_ 世界樹

補助魔法とか強いなぁ。 1ターン目に170与えてくるザコの攻撃が 2ターン目に17だったりする

(21:22)

本日のツッコミ(全2件) [ツッコミを入れる]

_ Gus [> どの言語の話なんだろう。 Javaです。this.m=m;ってthisで修飾するとメンバになります。 そのD言..]

_ shinh [this. は Eclipse が自動生成してたような気がしますが、そうでも無ければキモく感じますねぇ。 あと c..]


2007-02-15

_ 健康ゴルフ

最近風邪をたしなんでいるという感じである。 もうちょっとマジメに原因に取り組む必要があると思う。

  • 飯を喰わない(食事ゴルフ)
  • 栄養偏る(栄養ゴルフ)
  • 寝ない(睡眠ゴルフ)
  • 局所的に忙しい(締切ゴルフ)
  • 医者に行かない(薬ゴルフ)

やめてお兄ちゃんそれ以上ゴルフしたらっ…!って感じだな。 あと部屋のホコリゴルフをしたら健康に良さそう。

(00:14)

_ 世界樹

ブシドーは普通に殴りキャラでつまらんので カースメーカーが入れれるよになったので即交換。

メディなんとか以外みんなイロモノだなぁ

(00:33)

_ Tropy

やっと利用法を思いついた。 官能小説書きためたらいいんじゃ

(02:51)

_ スポイラー!

http://pitecan.com/Puzzle/Predict/janken.html

via http://yowaken.dip.jp/tdiary/20070215.html#p01

じゃんけんゲームのネタバレ。

たぶん Firefox なら勝てるんじゃないかな

戦績: 50勝 0敗 0分け
計算機の手	あなたの手	勝敗
グー	パー	◯
チョキ	グー	◯
グー	パー	◯
パー	チョキ	◯
チョキ	グー	◯
グー	パー	◯
グー	パー	◯
パー	チョキ	◯
パー	チョキ	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
チョキ	グー	◯
チョキ	グー	◯
パー	チョキ	◯
チョキ	グー	◯
チョキ	グー	◯
パー	チョキ	◯
パー	チョキ	◯
グー	パー	◯
パー	チョキ	◯
パー	チョキ	◯
グー	パー	◯
パー	チョキ	◯
グー	パー	◯
グー	パー	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
パー	チョキ	◯
パー	チョキ	◯
チョキ	グー	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
パー	チョキ	◯
グー	パー	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
グー	パー	◯
グー	パー	◯
グー	パー	◯
グー	パー	◯
チョキ	グー	◯
チョキ	グー	◯
パー	チョキ	◯
パー	チョキ	◯
チョキ	グー	◯
グー	パー	◯

(04:41)

_ ウソだった

なんか結構乱数で変わるみたいだ

(04:46)

_ ゴルフサバ

いくらなんでも実行遅すぎやろと思うんだが 何が悪いんだろう。

strace かなーと思ったけど ゼンサバ上で strace かまして実行しても あんまり速度変わってなくて、 0.25秒くらいで終わる。 open4が悪いか、なんらかの俺のミスか…

(05:17)

_

やっぱ strace が重かった。 そうだよなー。 フィルタするシステムコールを選択的に 選ぶとかできないからかなぁ。 見てみると wait4 とかが重いらしい。 うーんそいうもんなのかね…

てゆーか -f オプションが遅い。 で、 man 見ると fork を追うって話で、 別に fork なんて追って欲しくは無くて、 やって欲しいのは execve で trace やめるのをやめろ、と。

(06:06)

_ きゅーりょー

608370
505856
346080
104000

えらい多いなー。 逆に言うと使い過ぎである

(07:20)

_ マクグリドル

なんかクーポンがあったので、 この危険そうな物体を食べてみることに。 最初の半分くらいはフツーにうまいじゃんねと思いながら喰ってたけど、 途中からこれはキツいなと思いなおした。

そもそも甘くて腹に溜まるものが得意でない。

(10:27)

_ ヤター

http://golf.shinh.org/p.rb?delete+blank+lines#OCaml

\('-')/

型推論をゴマかすのが OCamlゴルフのコツな気がしたのであった

(11:41)

_ ステキな先生

http://d.hatena.ne.jp/kanbayashi/20070214/p1

(12:38)

_ OCaml

ちょっと標準ライブラリ貧弱すぎんかという。 Haskell並のほげほげプラスOCaml並のほげほげ、 とかは無いんかね

(13:02)

_ うーん

shiroさんかっこいーなぁ。

http://jp.franz.com/base/seminar/2004-06-10/Franz1.pdf

(17:21)

_ OCaml

パーサがなんか Perl チックだよなぁ

# let f x y=();;
val f : 'a -> 'b -> unit = <fun>
# f 1l1l;;
- : unit = ()
#

Haskell もこんなもんだっけか。

(19:19)

_ tanakhさん

かっこえー

http://golf.shinh.org/p.rb?All+Expressions#ranking

Ruby のヤツ意地でも通したくなるのであった

(19:36)

_ 週刊エジプト

という雑誌があるらしい

(19:57)

_ なんか

ゴルフ場が刺さってた。

うーん元気に動いてたのになぁ。

(21:32)

_ なんか

ext3fs がそれなりに壊れてた。

なんかおかしいところあるかもしれない

(21:45)

_ すげー

http://golf.shinh.org/p.rb?e#Befunge

59Bかーあと名前変えて運用で回避というのは すばらしいですありがとうございます。

(22:13)

_ 俺もオキャムってる場合じゃないなぁ

でも prime 抜かされたしなあ

(22:13)

_ そいう感覚

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070215#p03

は、なんか長い間やってるうちにできてくるような。 私の場合 Ruby は大丈夫だけど Perl は一々試してみないとダメで、 OCaml とかはもう根本的にほげほげ、って感じですね。

ゴルフの才能って要は体力とか暇じゃないかとかいう。

99 は CodeGolf の時からわかってたことですが、 案外アルゴリズム勝負で、 言語によって全然最適な方法が違うので面白かったりという。

僕は一箇所 if then else 使ってるなー。 このへんがダメになるから設計がよろしくないのは なんとなくわかってたけど書き直すのが億劫。

(22:46)

_ あと 1>0 は

http://gusmachine.blog49.fc2.com/blog-entry-138.html

私はHaskellですがここで始めて気付きますた

(22:47)

_ 僕の学んだ OCaml ゴルフのコツ

  • if then else はできればやめる。
  • 適当に型と true false のつじつまをあわせる
true&recursive(i+1)||()=print_string"hoge"

こんな感じで。

(23:15)

_ とうとう

awk & sed が Haskell を破ってしまった。

(23:20)


2007-02-14

_ 最大以外

第一フォルマントから第二フォルマントに向けて射撃とか だともうどうしようもなく難しいだろうなぁ。 声優の訓練になりそうな

(09:24)

_ うあー

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* は。

でもたぶん短くなりそうな

  • EAXにゴミ入る
  • EDXに1
  • ECXにスタック領域のポインタ
  • EBXをゼロ (STDIN)
  • EAXをクリア
  • EAXに4 (read)
  • ECXに ^32
  • EAXに ^7 (これで3, write)
  • EAX=>EBP
  • システムコール
  • BL^=DL (BLはSTDIN/OUTでフリップ)
  • EAXとEBP交換してからEBPの終了チェックしつつしなければループ

とりあえずレジスタの初期化部分はうちの環境に依存すれば 短くなりそうな。 つーのは EDX 最初から 1 入ってやがるみたいだから pop EAX; pop EAX とかで始めれば xor EAX, EAX は いらんような。 あと地道に pop するより popa しちゃうと レジスタが割と綺麗になるという悲惨なワザがあるとか。

zlib もそうだけどバイナリ埋め込みは 他ランキングも用意したいなー。 これはこれですごいのに、混じることによって 双方の評価が適切にしにくくなる気がする。 Python と Ruby を共通の点数評価に乗せるような感じ。

(09:50)

_ permutater

sedで解ける気がしてならない

(09:57)

_ レイプすれば客も車のうち

という諺がアメリカにある、という夢を見た。

アメリカのバスはガンガンぶつかるということを指して、 バス客もそんな感じなら車の仲間入りさ (このへん夢だけに意味がわからん) とかいう話を聞きながら、 日本ではオカマ掘るって言うよなーとか 思いながら聞いていたのであった。

(10:12)

_ nop

プレフィクスかと思い込んでたら違うのだった

#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

実装より英語書いてるのがうざくなって途中でやる気失せた。

つまりバイナリのサイズはデフォで公開、 あとなんかシンボルゴルフとかした場合は、 名前変えてかつ statistics を公開すれば Alnum無いんだぜーとかアピールできるよ、と。

(14:41)

_ ほげー

shinh って SHINicHiro.h なんだよ!とか いうエイプリルフールネタを考えたけど 全然ネタになってないし 嘘かどうかも定かではない

(14:47)

_ OCaml

ゴルフ最弱言語の予感がたまらない

(20:30)

_ 417

< 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)


2024年
3月
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
31
1.shinh(2016-10-11 02:13) 2.sumim(2016-10-11 02:13) 3.ySas(2016-10-11 02:13)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h