ToDo:
なんか SHORTEN に問題が増えてたので解いた。
http://www.spoj.pl/SHORTEN/problems/RECTAREA/
こういうの苦手だなあと思う。
(17:17)
スクリプト言語の || が結構好きだと思う。
# Makefile の引数 target=ARGV[0] # 省略されたら all を使う target||='all'
みたいなやつ。
その拡張として、 ゴルフ的にも普通のプログラム的にも、
a>0?a:b
みたいな形ってよくやりたくなるんだけど、 a を2回書くのがバカらしい。
幸い ruby だと FalseClass#> とか NilClass#> は定義されていない。 つまりだね…
class Fixnum alias :orig_gt :> alias :orig_lt :< def >(a) orig_gt(a) && self end def <(a) orig_lt(a) && self end end
# 引数で 0 以上が指定されればその値、デフォは 4 p ARGV[0].to_i>0||4
とかやってもさほど害は無いわけだ。
もうちょっと一般的には
obj.is_something? ? obj : default_obj
みたいなことをしたくなるよね。
ARGV[0].to_i.check(.>(0)) || 4
みたいな…
Object#check はなんか上の > と < の一般形というか 任意のメッセージを取る感じで、 .>(0) ってのはメッセージと引数をセットにしておくっていう クロージャみたいな何かは ruby2.5 あたりでは 僕の中ではサポートされることが確定してるのでそんな感じ。
このへんのはなし。
http://shinh.skr.jp/m/?date=20090831#p01
というかこれの最後の話。
http://www.kmonos.net/pub/Presen/fltv/FLTV.pdf
(20:05)
今日帰る前にやっていた作業は 僕にアサインされた chrome のバグが発生する HTML がやたらデカくて難解だったので、 500行以上ある CSS+JS+HTML を 20 行弱まで減らすという作業だった。
http://code.google.com/p/chromium/issues/detail?id=66848
で、途中で気付いたのだけど、この作業は結構ゴルフに似ていて、 仕事でゴルフをしたと言ってもいいかなぁと思った。
まぁコードをざっと見て仮説を立てて本質的に関係なさそうな部分を特定して… みたいな作業は人のコードを読んでるって意味であまり普段のゴルフではないか…
(00:42)
http://www.kmonos.net/wlog/116.html#_1217110201
面白いなー。 最初一緒だろうと思って、次にそれじゃ面白くないと思って、 しかしどう考えても一緒じゃなかろうかと思って、 いやだからそんな問題出さないよと思って、 そのへんでマジメに考えたら解答がわかった。
001 < 010 < 000 なのね。まぁそうか
(01:53)
http://homepage1.nifty.com/herumi/diary/1101.html#29
こういう話は面白いなぁと思う。
基本をやってから…っていう主張はよくわかる一方、 自分が好きなものに関わってるらしいなにやらを ミーハーな気持ちで眺めてみたいという気持ちもよくわかる。
思うに、ミーハーな気持ちで眺める時は、 それを自覚して、わかんないことはわかんないでほっといて、 雰囲気だけわかった気持ちになって満足してれば それでいいんじゃないかなぁと思う。
最近会社でミーハーな気持ちで読んだ論文をいいかげんに報告する会、 みたいなのが omo さん主催で行なわれてて、 それがたいへんたのしい。
僕は論文じゃないだろそれってのばかり読んでて、
http://d.hatena.ne.jp/shinichiro_h/20101205#p1
と
http://d.hatena.ne.jp/shinichiro_h/20101228#p2
はその会でいいかげんに報告するために読んだものだったりする。
後者の方のπの話に、僕は 「イマイチよくわからんものの、いくつか面白いなーと思ったことがあった」 と書いてるんだけど、まぁそんなもんでもいいんじゃないかなー
で、僕はやっぱりマジメに理解したいんだ! っていうのなら、これはおとなしく 光成さんのアドバイスに従った方がいいんじゃないかなーと思う。
あと僕の中では学習量=学習時間*やる気という公式があって、 やる気無いことはいくら勉強してもムダという話もあるかなーと思う。
やる気全く無い群論をいきなりやっても学習量は永遠にゼロなので、 やる気のある圏論をちょっと勉強してみてうーんさっぱりわからん! というところが出てきて、 そこではじめてしょうがないから群論やるかー、 と群論のやる気がノンゼロになる ってコースもまぁアリっちゃアリな気もする。 ハタから見ると回り道してて無駄な気がするけど、 本人のやる気を考慮に入れると実は最適なパスだった、みたいな。 そいうパスを通りそうな人へのアドバイスとしては 光成さんのアドバイスってのはすごく有益なものだと思う。
しかし Haskell が好きで好きでしょうがなさすぎて 圏論が理解したくてしたくてしょうがなくて、 そのために群論から勉強することも厭わない! って人はあんまりたくさんいるとはちょっと思えんので、 わかったフリが大好きな僕のアドバイスとしては、 「好きなこと勝手に勉強して、雰囲気わかるとこだけわかった気になっておいて、 わからんかったとこは放置でいいんじゃね」 みたいな感じになる気がする。
そうそう、同じようなことを sumii さんの
http://d.hatena.ne.jp/sumii/20060404/1144111484
のせっかく楽しく SICP を勉強する気になってたのに! みたいなコメントを見た時にも思ったのだった。 だいぶ違っていうかほとんど逆の話だけど。
(03:23)
dia になった。
今年入ってからの勝率は
T 9/9 50% P 10/4 71% Z 17/6 73% overall 36/19 65%
とかなんで vT 本当になんとかすべき。 vP vZ は色々試してみてるけど、 vT は何を試したもんだかみたいな感じで余裕がない
(01:11)
http://okajima.air-nifty.com/b/2011/01/2011-ffac.html
ruby で書き散らかして18分23秒だった。
動画撮りながらやったので時間は正確。
最近新山さんの recordwin がたいへんべんりと気付いたので、 コード書く時に動画撮ってみたりしている。
http://www.unixuser.org/~euske/vnc2swf/recordwin.html
やってみててわかるのはぶつぶつ言いながらだと、 ぬいぐるみに話しかけるのと一緒で頭整理しやすい気がするというのと、 気が散らないから他に余計なことしないというのがあって割と良い気がする。 成果物はまぁどうでもいい退屈なものなのだけど…
なんかマトモなのができたらアップロードしたりしてもいいかなぁと思うけど、 youtube だと 15 分で終わらにゃならんし、 ニコ動だと解像度の制限がキツいし、 みたいな感じで色々めんどいっぽい。 ぷよぷよ程度でも15分じゃ終わらんぽいしなー。
(14:39)
http://golf.shinh.org/p.rb?FizzBuzz#Ruby
53B!!
人間やればできると信じるとできるもんだなー
55B の時はまだ縮むんじゃないかなーと思う感じだったけど、 ここまで来るとなかなかこれ以上無さげだな…
(03:10)
bzip2 の解凍が遅いので pbzip2 というのを試してみる。 どうも圧縮の仕方を変えて並列にできるから速いという話らしいので、 decompress は別に速くならなさそうだが…
% la primes.txt -rw-r--r-- 1 i 52M Feb 24 2008 primes.txt % time bzip2 primes.txt bzip2 primes.txt 13.78s user 0.29s system 84% cpu 16.680 total % la primes.txt.bz2 -rw-r--r-- 1 i 18M Feb 24 2008 primes.txt.bz2 % time bzip2 -d primes.txt.bz2 bzip2 -d primes.txt.bz2 5.55s user 0.34s system 97% cpu 6.036 total % time bzip2 primes.txt bzip2 primes.txt 13.46s user 0.21s system 98% cpu 13.894 total % time pbzip2 -d primes.txt.bz2 pbzip2 -d primes.txt.bz2 5.45s user 0.40s system 94% cpu 6.216 total % time pbzip2 primes.txt pbzip2 primes.txt 13.98s user 1.08s system 173% cpu 8.699 total % time pbzip2 -d primes.txt.bz2 pbzip2 -d primes.txt.bz2 5.54s user 0.40s system 172% cpu 3.439 total
別にはやくない。 それにしても bzip2 より遅いのかなともう一度やってみたら
% time pbzip2 -d primes.txt.bz2 pbzip2 -d primes.txt.bz2 5.51s user 0.35s system 101% cpu 5.781 total
まぁ似たようなもんってことかな
(22:22)
ついでに。
% time xz -z primes.txt xz -z primes.txt 81.90s user 0.61s system 98% cpu 1:23.70 total % la primes.txt.xz -rw-r--r-- 1 i 6.0M Feb 24 2008 primes.txt.xz % time xz -d primes.txt.xz xz -d primes.txt.xz 2.45s user 0.31s system 96% cpu 2.857 total
圧縮アホほど遅いが展開はすごくはやい。
圧縮率落としてみる
% time xz -z -0 primes.txt xz -z -0 primes.txt 9.41s user 0.18s system 98% cpu 9.767 total % la primes.txt.xz -rw-r--r-- 1 i 9.7M Feb 24 2008 primes.txt.xz % time xz -d primes.txt.xz xz -d primes.txt.xz 2.72s user 0.24s system 99% cpu 2.985 total
うーんすごくいいじゃないかこれ… これがはやく流行ってくれればいいなぁ… と思ったので bzip2 のことは忘れることにするか…
(22:38)
今一つなんの大会なんかわからんのだけど、 なんか強烈にむつかしい問題を解かせるとかなんかな…
http://felicity.iiit.ac.in/gknot/
朝3時30分まで起きてるとかは結構だるいので 明日の朝問題どんなんだったか見るとかで良さげ…
(20:08)
前 | 2024年 10月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ ukzk [うわ。55バイトで満足してたら、2バイトも縮められてしまったんですね。 また、考えてせめて追いつきたいです。]
_ shinh [はいがんばりました…55=>53は純粋なゴルフというか、まぁそういう感じなのかなーと。]