トップ «前の日記(2006-09-02) 最新 次の日記(2006-09-04)» 編集

はじめてのにき

ここの位置付け

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|

ToDo:


2006-09-03

_ スパムフィルタ

http://shinh.skr.jp/m/?date=20060901#c02

URL入ってるとはじくというおそろしい仕様になってましたすいませんびびった。

とりあえず5個以上とかにしてみる。

(00:27)

_ erasure の話

メモ。

ランダウアーの原理で、 情報忘れる時熱出ちゃうっていうけど、 パソコンの電源切ったら熱出るって なんか直感的じゃないよねぇ、みたいな話で、 情報保存できてるってことだから 1か0はなんらかの励起状態にあって、 電源切ってほっとくと励起状態の方から 基底に落ちてエネルギーが… みたいな話をしたけど、 んーとそれってほげほげ。

ほげほげじゃねえよ。 つまりランダウアーの法則に プランク定数 (今プランク定数の名前を忘れていた 自分的に完全にアレはエイチバーらしい) 含まないのでとか思ってたら Wikipedia によるとボルツマン定数は 基本定数じゃねえとか。 そうかも。

まぁ今度考える。

(00:32)

_ Array

   foreach(e; 配列[31, 41, 59]) printf("%d ", e);
   foreach(e; 配列[1 .. 10])    printf("%d ", e);

とかしたくなるんですが。

(00:37)

_ 全角スペースとかダメなのは

いかにもUTF8ってことなんかな。 UTF8よーわからん

(01:00)

_ なんだってーの事実を元に

レイトレをインチキ解法でやってみたところ 1300点でした。 もっと縮まりそうな変更したつもりだったんですが、 ひょっとしてこれってマックスですか。

Program area: 4941 (smaller is better)

(03:41)

_ いやマックスだと

mul & rev で 110 てんはなさそうなんだよなぁ…

(03:45)

_ 1300が限界かねぇ

Program area: 4860 (smaller is better)

(05:16)

_ 現状とか

i@u wrk/icfpc/2006> ./cntpub.rb
INTRO: 230
CIRCS: 1390
BLNCE: 1094
BLACK: 1000
BASIC: 100
ANTWO: 400
ADVTR: 810
ADVIS: 329
5353

mul & rev はまだまだいけるってことかぁ

(05:17)

_ 限界

i@u wrk/icfpc/2006> ./cntpub.rb
INTRO: 230
CIRCS: 1399
BLNCE: 1094
BLACK: 1000
BASIC: 100
ANTWO: 400
ADVTR: 810
ADVIS: 329
5362

mult

,..|....................................,,.....|................................,
:p |   *=============*+---+             ::mult | *=================*        +--+:
---#-->!case W of E,S!#+  v             :------#>!send[(W,E),(W,S)]!--+     v  |:
:  v   *=============*|| *=====*        ::     v *=================*  | *=====*|:
:*=================*| |+>!use p!+       ::*=============*     |    ++ +>!use p!#-
:!send[(N,S),(N,E)]!#-+  *=====*v       ::!case N of E,S!-----#----+v   *=====*|:
:*=================*v  *===============*::*=============*     |    *========*  |:
:      + *===========* !send[(Inl N,E)]!-:++*===============* +--->!use mult!--+:
:      +>!send[(W,E)]!+*===============*::+>!send[(Inr(),E)]!+     *========*   :
:        *===========*+------------------:  *===============*+-------------------
,.......................................,,......................................,

rev

,..|...........................,
:i | *==================*      :
---#>!send [(W,S),(W,E)]!+     :
:  v *==================*v     :
:*=============*| *===========*:
:!case N of S,E!#>!send[(N,E)]!-
:*=============*v *===========*:
: | *==================*       :
:+#>!send[(Inl(W,N),S)]!       :
:|| *==================*++     :
:||  *=======*        |++v     :
:|+->!split W!--------#+*=====*:
:|   *=======*        +>!use i!-
:+----+                 *=====*:
,..............................,
,......................|...,
:rev                   v   :
:*===============*  *=====*:
:!send[(Inr(),E)]!->!use i!-
:*===============*  *=====*:
,..........................,

(06:51)

_ GDC SVN

インストールした。

GCC-4.2 でコンパイルすると cc1d を実行する時に /usr/lib/libstdc++ が 違うバージョンの libgcc_s を必要として少し困る。 libstdc++ を一時的に変更して対処。 毎度こうだと困るので次回からは GCC-4.1 使ってコンパイルするかね

(15:20)

_ nil.to_s

CGI 書く人と書かない人で意識に差がありそうな。 たぶん立場は

  • nil.to_s は "" であるべき
  • どっちでもいいけど今変えるのはヤメレ
  • nil.to_s は "nil" であるべき

の3者で、CGI書いてると1番上の気持ちになる気が。 なぜなら <input> タグで来たものは nil じゃなくて "" であって、 これを変数に代入するときにわざわざ

key = @q['key'] == '' ? nil : @q['key']

とかそのへんはやってられねーし、 かと言って別のところで key に代入する時は

key = if cond then 1 end

とかしたいしのう。

でまぁもろもろが次の値にひきつぐ時に、

%Q(<input type="key" value="#{key}">)

でテキトーにひきつげるのは ありがたいかな。

どうでもいいけど ついさっき四国に

twop =
  if @cgi['twop'] != '' && @cgi['twop'] != 'false'
    '_' + @cgi['twop']
  else
    ''
  end

とか書いた (false の部分を加えた) 。 ダメすぎるじゃん! nil にしとけば良かったよ!

(17:47)

_ このくらいやらないとだめかなと思った

>>> "a"[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] 'a' >>>

(18:00)

_ おすすめのソース

http://slashdot.jp/askslashdot/article.pl?sid=06/09/03/0721254

main=195 と #include </dev/tty> がトップ2とすると、 3位くらいまで考えたいなぁと思い起こすに、 uguu.org の Perl&OCaml polygot quine かな。 7言語 polygot は Postscript 混じってるのは 視覚的に強烈だったけど技術的にはコメントの切り分けだけであって、 それなら k.inaba さんの printf("it's %c code\n", 'c'/+c++/+1); の方が感動したかもしれない。 あとは hanoi.tex とか。 7行スレはわかっちゃうとそこまで凄くもないかなぁ。

(18:18)

_ あと

sed はすごいんだけど何がすごいかすら よくわかってない程度しか sed を理解してないのが。 変数が2つしか無いのはわかるんだけど。

C++ならなんだろうね。使う側から見ればlambdaはすごいけど。 実装だと Boost.any とか shared_ptr とか。

最近 C++ いじってないなぁと chomp.cc 書いてて思った。 どう見ても better C だ。

(18:23)

_ opSpace と言わず

やっぱ空白は ident に…

int ab cd ef = 1;
printf("%d %d\n", ab cd ef, ab cd ef);

ひどいなぁ。

struct Arraynantyara { op^ () {...}; op. () {...}; opSlice () {...} }
Arraynantyara  ;
^..^[1 .. 3]

(19:53)

_ TypeKey

のログインアカウントを変更できる Greasemonkey script が欲しい。 四国いじりがラクになる。 作るのはたぶんめどい。 なぜならだるいから。

(22:04)

_ CodeJam

のアプレットが動かんですね。 またそんなんかよ

(23:45)

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2006年
9月
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
1.shinh(2014-05-24 02:43) 2.k.inaba(2014-05-24 02:43) 3.YT(2014-05-24 02:43)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h