ToDo:
http://d.hatena.ne.jp/higepon/20071215/1197733211
あるなぁ、
(01:00)
昨日はRHGにいった。 思ってたより面白かった… というか Common LISP が思ってたより面白かった。 これ見るとホント Ruby はよく影響受けた言語なんだなぁと。 この本は買うなぁ。 今の状態見ると翻訳はあまりクオリティ高くなさげだけど、 なんとなく適当にわかるし。 ただプログラム初学者向けでは無さげ。 まぁたぶん初学者は買わんから問題なさげ。
その場で CLISP と GCL と SBCL 入れて 適当に比較しつつ遊んでた。 雰囲気としては
遊ぶなら CLISP でマジメにやるなら SBCL とかなのかな。
(16:18)
Perl golf history book 的なのを 他言語でも欲しいという話が IRC であった。 まったくその通りだと思った。
とりあえず Wiki でも上げてみて、 古い問題については deadline なくてもネタバレアリ、 って感じでまとめていってみるのはアリかな。
考えてるのは
をある程度自動的に作れると良いんだけど。 あとは人気コードランキングとかあるといいのう
(16:35)
http://d.hatena.ne.jp/odz/20071214/1197622976
このへんを見た。 オリジナルのコードが変わってるみたいだから内容はよくわかってない。 そこであまり関係ない話。
#include <math.h> int main() { return pow(3, 4); }
が
main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx movl $81, %eax popl %ecx popl %ebp leal -4(%ecx), %esp ret
こうなる。 これが __builtin の魔力か! てか -O とかつけんくても消えるんだね。 pow(3.3, 4) とかしちゃうと pow が呼ばれてしまう。
で -ffast-math をつけると
main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx movl $118, %eax popl %ecx popl %ebp leal -4(%ecx), %esp ret
わいわい。
あとまぁ pow(argc, 4) とかでも -ffast-math つければ call pow は消えるから 最適化で pow が速くなることはないというわけでもないとか。
TODO(きっとあろはさんが調べるという意味): これ GCC のどこ? builtins.c は微妙に違いげ。
(03:44)
builtins.c か。
/* Attempt to evaluate pow at compile-time. */ if (TREE_CODE (arg0) == REAL_CST && ! TREE_CONSTANT_OVERFLOW (arg0)) { REAL_VALUE_TYPE x; bool inexact;
x = TREE_REAL_CST (arg0); inexact = real_powi (&x, TYPE_MODE (type), &x, n); if (flag_unsafe_math_optimizations || !inexact) return build_real (type, x); }
このへんかね。
にしても fold_builtin_pow は相当アホな感じな最適化がほげってるなぁ。
/* Optimize pow(cbrt(x),y) = pow(x,y/3) iff x is nonnegative. */ if (BUILTIN_CBRT_P (fcode)) { tree arg = TREE_VALUE (TREE_OPERAND (arg0, 1)); if (tree_expr_nonnegative_p (arg)) { const REAL_VALUE_TYPE dconstroot = real_value_truncate (TYPE_MODE (type), dconstthird); tree narg1 = fold_build2 (MULT_EXPR, type, arg1, build_real (type, dconstroot)); arglist = tree_cons (NULL_TREE, arg, build_tree_list (NULL_TREE, narg1)); return build_function_call_expr (fndecl, arglist); } }
/* Optimize pow(pow(x,y),z) = pow(x,y*z). */ if (fcode == BUILT_IN_POW || fcode == BUILT_IN_POWF || fcode == BUILT_IN_POWL) { tree arg00 = TREE_VALUE (TREE_OPERAND (arg0, 1)); tree arg01 = TREE_VALUE (TREE_CHAIN (TREE_OPERAND (arg0, 1))); tree narg1 = fold_build2 (MULT_EXPR, type, arg01, arg1); arglist = tree_cons (NULL_TREE, arg00, build_tree_list (NULL_TREE, narg1)); return build_function_call_expr (fndecl, arglist); }
これとか。
(03:56)
http://www.jmuk.org/diary/2007/12/14/1
似たようなことが w3m で起きてたのだけど なんか inflate ってコマンド無いと w3m の場合ダメなんかなとか ダメなんかなーと思って accept-encoding から deflate 外してから 気付いたんだけど、よく考えると akr さんとこ (http://cvs.m17n.org/~akr/diary/) は 見えてるのであったのでなにかがおかしい。
それはそうと akr さんとこは Accept-Encoding に deflate 無くても DeFLaTe で送ってくるのはエグいような。
echo 'GET http://cvs.m17n.org/~akr/diary/ HTTP/1.0\r\nHost: cvs.m17n.org\r\n\r\n' | netcat cvs.m17n.org 80
http://www.ietf.org/rfc/rfc2616.txt
とかを見て Accept-Coding: identity を送ってみるも通じず。ムネン。
(04:25)
かんどうした
>>(defun f (&optional a b &key k) (list a b k)) F >>(f 1 2) (1 2 NIL) >>(f 1 2 :k 3) (1 2 3) >>(f :k 3) (:K 3 NIL)
(15:34)
gcl
>>(defun nil() (return 1)) NIL >>(nil) 1
clisp
[1]> (defun nil () (return 1)) NIL [2]> (nil) 1
sbcl
* (defun nil() (return 1)) debugger invoked on a SYMBOL-PACKAGE-LOCKED-ERROR in thread #<THREAD "initial thread" {A7BD3F9}>: Lock on package COMMON-LISP violated when setting fdefinition of NIL. See also: The SBCL Manual, Node "Package Locks" The ANSI Standard, Section 11.1.2.1.2
(16:01)
GCL はインタラクティブモードで disassemble しようとするとあわててコンパイルしてから objdump してる感じ。
しかし objdump は読みなれてるので良い。
(17:26)
_ Ashykaju [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]
なんかやけにしんどい
んなことより昨日カタストロフが起きて大変だった。 なんかノートPCが落下したり色々あったけど、 結論としてはたぶん kernel を中途半端に入れ変えた影響で u3 の ssh が起動時に立ち上がらなくなった。
などという実に中途半端ながら 結論を言えばログインできない感じの状態になった。
復旧法としては USB の HDD で kernel とか適当にほげればいいんだろうけど、 ていうかさすがに 6 年も働いてくれたので捨ててもいいんじゃないかというような。
Duron 800MHz でメモリ 128MB とかだいぶ懐しい感じのスペック。 こんなもんが SVN サーバと IRC プロキシと メインの Web サーバやってくれてたのがアレだなー。
ところでゴルフ場もキーボード効かない&&ディスプレイほぼ見えない という割に過酷な状態のマシンで経営されているとは
(22:23)
800MHz もあるのに懐しいとか贅沢になったもんだね! 昔のアンタはそんなんじゃなかったよ!! 133MHz とかで g++ 使ってコンパイルに30分とかかかってたじゃない!
(22:26)
は暇な時に 炎上してる議論を探すためにくまなく見て回るという性癖が。
なんというか流量の多い dankogai さんのブログを 常に見るよりついったをたまに見る方が 炎上センサーとして優秀というライフハック。
いやそんな理由は後付けでどうしようもなく他のことやる気なくて だらだら見てるだけなわけだけど。
あと follow というシステムは個人的にあまり意味があると思えないので トップページは主に itkz さん監視装置として利用させていただいております。
follow 意味わからんってのは見たそうなものって 動的に変わりまくるもんだよなぁというような。 でなんか、 みくしもそうだけどプライオリティつけられたらいいんだけどな。 この人は常に見るあの人は暇な時にとかそういう。 殺伐としたシステムな気もするけど現実世界の知人友人ってそうなってるしなぁ。 毎日会うのはめどいけど何ヶ月かに一度くらい連絡取ってみたりとかそういう。
(03:26)
僕はずっとアンテナっていうか更新チェッカを 2つ使ってて、はてなアンテナはよく見たいところで、 まぁ外出先からとかでも時々見る用途になっていて、 ローカルで動いてる よくこんなクソ物体未だに動いてるな的な コレ http://shinh.skr.jp/koneta/#wwdgwa は しょっちゅう対象を変えつつ おうちから見る専用アンテナとして機能してるというような。
例えばこう、どっか人のところにコメント書いたら それをおうちアンテナに一時的に入れておいて なんか返事もらったら目に入ってその後に消すとか、 まぁ便利だと思うんだけど。
あとちなみに w3m に完全に溶け込んでて 見てる最中に x a とかしたらそのサイトが登録されて x d とかしたらそのサイトが消えるようになっている。
ていうか人んとこに書いたコメントの その後トラッカみたいなのって ずいぶん前からあるべきだと思ってるんだけど、 なんかあんまり見ないような。 みんなどうしてるんだろうな。
(03:34)
http://tokyocabinet.sourceforge.net/spex-ja.html#tcbdbapi
こっちの B+ 木はちゃんと外部にカーソルがあるぽくてえらい。
しかし villa の vl くらいの prefix ならいいけど tcbdbtune とかは相当つらいものが無いか…
(02:54)
オリジナルデータが 330 万個くらいキーがあって 110MB で圧縮したら 13MB になったというようなデータ。
villa & lzo だと 140MB だったのが tcb & deflate だと 31MB で tcb & tcbs だと 35MB だと。
http://alpha.mixi.co.jp/blog/?p=98
このへん見るにとりあえず zlib の方でいいんかな。
(03:16)
なんか適当についったながめてたらびびった。
http://twitter.com/hogelog/statuses/472257642
あー自明なもの書くのが億劫になる理由は 確かに明らかにぐぐるが悪いんだよな。 どうでもいいもの書く時はぐぐるのライブラリ使いたくなる。
そういや Rob Pike とかそのへんの向こうの神々の 出力の変化とかはどうなんかいな。 guido とか akpm とかそのへんはたぶんあんま変わってなさそう。
(04:00)
(05:17)
(14:16)
R61 買って 6000*2 でメモリ 4GB 買って差して、 bluetooth のイアホン買えば良い。 メモリは tmpfs で 3GB くらいマウントしてビルドとかに使ってみたいんだ。
R61 は bluetooth 無いらしいけどまぁ問題無いか。
(14:27)
factor out といいこの英語は苦手だと思う。
factor it out とか check it out なんだよね、たぶん。 なんというか factor out it とか check out it と書きたくなる。 特に it が長いと、ていうか既に書いた後のまつり。
チェケラ
(01:44)
http://b.hatena.ne.jp/entry/http://www.atmarkit.co.jp/news/200708/06/weekly.html
こいうのよく聞くけど具体的に誰、とか思うんだけど どうなんだろう。
(01:06)
http://b.hatena.ne.jp/kmachu/20071203#bookmark-6676231
認めないと先に進めないから好きってのはわかるんだけど、 個人的にはやはり悔しい側面もあるので好きでもないなという。
そのへんの尺度は人によって色々あると思うんだけど、 「イヤなのか」に「好きな人はいない」と答えるのは なにかすごいものを感じたのでした。
(01:40)
去年をふりかえる。
http://shinh.skr.jp/m/?date=20070102#p04
GPUとか触ってねー。
まぁ来年の目標としては IP 以下とか UNIX とか Postscript とか。
(01:48)
http://d.hatena.ne.jp/JavaBlack/20071202/p2
自分の間違いを認めるのがなんでそんなにイヤなのだろうか?
間違いを認めるのが「好きな人」なんていないと思いますよ.
このへんが全然僕的には異質なんだろうな。
(01:04)
http://shinh.org/kocha/index.cgi
http://shinh.org/ryokucha/ryoku.html
いつのまに dyndns からひっこしたんだ俺。
(21:10)
A, B, C, D and E って文法はなんか非対称でおかしいと思うんだよ。 A and B and C and D and E でいいじゃん…と思うけど これは確かに結構うざいな。
(00:52)
なんかさっきの、 「ある革新的な新技術 == Java の interface」 「それに対する先駆的なアイデアや技術 == ObjC とか Sather」とか って対応なのか。
まぁ「Java の interface == 革新的な新技術」 という文章は革新的かもしれない。
(01:15)
前 | 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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
Before...
_ shinh [ひげぽんさんは僕なんかよりもっとそうだと思うのですけど、正直逆アセって最も手軽かつ確実な方法だったりしません?別に機..]
_ ひげぽん [>ひげぽんさんは僕なんかよりもっとそうだと思うのですけど、正直逆アセって最も手軽かつ確実な方法だったりしません?別に..]
_ shinh [もうちょい応用をきかせて書いてるコードのアセンブリが常に隣に出てる、とかは夢ではありますねえ。]
_ ひげぽん [それは良いですね。 今のマシンパワーならわりと余裕で出来そうですね。]
_ Jcftymkt [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]