ToDo:
cronlog を使わせてもらおうと思った。
http://github.com/kazuho/kaztools/blob/master/cronlog
僕は自分は C++ と Ruby を使って書くことが多いけど、 人が書いたものとしては C や Perl じゃないと許せないという 考えを持っているので Perl なのは良い。
どうでもいいけどこの guncat というのは zcat とは違うんかな。
さて health check は ruby の test/unit でいいのかなーと思ったが、 色々不満がありそうだ。
まずどうせ自動再起動も入れたいので、 失敗時にはなんかフック入れたいんだけど、 assert 一個につき test_ 一個書く感じにしたいので、 全部の test_ に rescue とか書かにゃならん。 一つの class の中の test が一個コケてたら 自動再起動スクリプトが走る…とかにしたいんだけどな。
こんなんでいいか
(01:25)
いくつか強そうなチーム
http://wiki.freaks-unidos.net/weblogs/azul/icfp-2010
http://gwillen.livejournal.com/65537.html
http://hoenicke.ath.cx/icfp10/
(17:58)
http://twitter.com/kinaba/status/17019694551
これは
http://www.kmonos.net/pub/Presen/fltv/FLTV.pdf
の
.maxPrio = .max{|a,b| a.priority <=> b.priority} even = evens.maxPrio odd = odds.maxPrio
ができるって話よりもう一歩いい感じな感じだなぁ。
ミスって引数足りない時はどうなるのかな。 エラってくれないと静かに全然期待と違う動きすることがあってうざいと思うんだけど、 まぁいかにもこの部分適用だけされた関数使ってませんよーとか スコープ出る時に言ってくれたりしそうだけど。
(00:27)
こういう形式のゴルフコンペはどうかな。
つまりこうみんなで競争しながら頭ひねって答えを考えると。
とかいうルールを加えてもいいのかなぁと思う。 明らかに自明な最短解がある問題が出題されるとつらいので、 出題者は開始1時間解答できないとかそんな。
得点計算式に問題があるな… A さんが 10B 出して B さんが 8B 発見した時に、 9B => 8B と投稿した方が点数が多くなる式はダメだ。 むしろ分割するともらえる得点が減るといい気がする。
(01:34)
http://ja.wikipedia.org/wiki/MD5
MD5 はあっさり衝突するらしい。ダメぽ。
http://ja.wikipedia.org/wiki/SHA
SHA1 もうどうも衝突してるらしいじゃんダメぽ。
何かっていうと自分で書いたハッシュ関数とか 欲しいなぁというのがあったのだけど。
ていうか codegolf.com で sha256 書きましたっけ… すっかり忘れていた。
(01:59)
ニコニコの latency ひどいよなーと思って、 inspector で見てみると、 どうも prototype.js とかの 静的なコンテンツのダウンロードというか 304 Not Modified がかえってくるまでが遅い。
アホかーと思ったので、 とりあえずローカルの apache に mod_disk_cache を仕込んだ。 だいぶはやくなった。
(18:43)
powertop すると Ruby が上位に来ることが多い。
たぶん timer thread でもりもり起きてるのが問題かなーと思ってたんだけど、 よく考えると ruby 1.8 でも上位に来てる。 ruby-1.8.7 でも timer とかあるっぽいし 1.9 だけってのが記憶違いかな。
地球に優しくするにはどうすればいいんだろう。
http://redmine.ruby-lang.org/issues/show/270
に書いてあるみたいに最初に Thread.new するまでは 少なくとも必要ないのかなぁ。
ていうか thread の切り替えを促すってのは 各 thread が自発的にあー 10ms 過ぎたなーとか言って 他にゆずるとかできんのかな。
signal の集約の方は別にタイマとしての機能は必要じゃない気がするけど、 ええとどうなんかな。
(22:08)
u4 で適当に動かしていたサーバ群を適当に daemontools 管理下に置く。 具体的には
があったようだ。
あとは…
あたりが勝手に動くとなお良い。
それと health check 的なのを統合的にやりたいなぁ。 チェックすべきは
あたりか。
(23:23)
twitter のリソースの読まれっぷりを見てると、 spinner.gif とか loader.gif とか外部リソースなんだなぁ。 こいうのは data: にするもんなんかなぁと思ってた。
あとこれを最初に読む必要は無いよね…とか
(23:42)
寝る前に電気を消すためにスイッチに近付くのがめんどい。 どうにかして遠くからオンオフできるようにしたい。
どうやらこういうものがあるようだ。
http://www.nissinweb.co.jp/life01.html
うーんこれは何がどうなってるんだろう。 既存のスイッチの上につけられるのかな。 だとすると物理的に動くんかいや
(01:39)
なんか焦るとよくないなぁと思う。
気が急いて眠れないし、 しかし寝ないと集中力低下して勘違いを放置するし。
しかしまぁそろそろマシな勝負ができるといいなぁと思いますよ… と思ったらサバさんが
(05:31)
うーんくやしいなぁ。 最終的にはマラソン的な問題で、 いつものマラソン的な感じのダメさだった。 もうちょっと頭良くない感じの アルゴリズムとかはともかく 実装ゴリゴーリな問題の方が得意なんだろうな。
とはいえ問題はとても良かったし、 運営も良かったと思う。 今回程度のダウンタイムってのは 神とまでは言えないけどとても良かったと思うんです。
だからこそくやしいわけなんだが
でなんかまとまった文章書こうと思ったが、 そもそも key prefix をどうやって作ったか、 という手順からして思い出せない。
どういう問題だっけ…
回路は
http://twitter.com/kikx/status/16688748696
を見るに kik さんと同じだろうと思う。
工夫した点は左右ひっくり返せる部分があるので、 そこを乱数でひっくり返して何度かやって いいのを取るとかいう。
(22:52)
30分くらいで45台くらい新規給油したりして良かった。
問題をまだ理解してないのは困ったもの。
あと40時間?結構時間ある感じだな。 寝るかなーと思うけど今寝て起きてそのままってのはちょっと長いね…
(05:00)
いい問題だなーと思う
スタートへの敷居高すぎなのだけがアレ
とりあえず適当に稼げそうなところは稼いでおいた
明日へのメモ
プライオリティとしてはどこからかなぁ。 工場は後々効くだろうけど時間の無駄に終わる可能性もあり。
しかしこういうのは kikx さんとか得意そうである
二人いるのはこういう事情なので気にしないで
21:46 >shinh< register したらしいのにパスワードこないな 21:47 >shinh< あれ来てるんですか 21:47 >shinh< メアド入れまちがったとかかな 21:47 >shinh< shinh さん詰みそう 21:48 >shinh< 残念だなあ 21:50 >shinh< お team 名変えたら email address is already in use 21:50 >shinh< メアド入れ間違ってないじゃないですか 21:53 *** Change: shinh -> shinh2 21:53 >shinh2< しょうがないから今日から shinh2 に改名
(13:59)
via http://twitter.com/kinaba/status/16310294032
これいいなー。こっちが流行ってればいいのに。
どうでもいいけど忙しい気がする。 別にたいして忙しくはないんだろうけどなあ。
マラソン結局不戦敗。 かなしい…
(03:08)
http://slashdot.jp/~taro-nishino/journal/509450
かなり説得力あるなぁと思う。
前に git の ML で読んだ時とは大違いな印象だけど、 まぁ当時は全部あんま読んでなかったのかな。
今度ゆっくり一つ一つの機能を考えてみたい気がする。 とりあえず多態と STL は 欲しいかなぁと思うけどどっちも kernel に とって重要じゃないってのはそうなんだろうと思う。
あとはこう単純に関数とメンバを同じところに書く習慣を強制されるのは、 自分が悪いコードを書く率を減らしてくれるって意味でありがたいんだけど、 そういうのはダメかなぁ。 C++ の方が C よりバカに優しいと思うんだけど。
ていうかそう、激しく同意するのはその、 僕は自分では C++ 書きたいけど、しかし 人の書いた C++ コードはあんま読みたくない ケースがすごく多いって話なんだよな。 C にしてくれという。
あーなんでか忘れてた。 RAII は欲しいだろさすがに。 さすがに kernel でも役に立つんじゃないか。
(03:41)
1位は略
2位の RAII は RAII というかスコープ出た時になんかできるってやつで、 Mutex の auto unlock みたいなのは嬉しいんじゃないかなぁ
3位のクラスってのは単にメンバ関数のことを指してるんだと思う。 やっぱ頭整理しやすいと思うんだよね。 もちろん C でもちゃんと一定のルールに従って書いてくれりゃいいんだけど、 自分で新しくコード書く時にルールを考えたりするのがやはりめどい。
4位の STL はまぁ大規模なプロジェクトなら自分で書いたらいいんだろうけど、 スクラッチからなんか書く時の速度が相当早くなるんですよという。
5位の多態はこう、結構欲しい時は本質的に欲しいんだよなぁ。 関数ポインタ3つ以上とか持ってる構造体とかは、 ちょっと厳しいもんがあるんじゃないかなぁ。 そうなっちゃうと過剰に自由度が高い状態になってしまって、 見通しが悪くなるというかなんというか。
6位のアクセス制御はまぁやはりドキュメントとして。 ただ private non-virtual 関数は cpp の方にだけ 書けばいいことにできんもんかと思う。
7位。オーバーロード…はいるんだろうか。 operator<< とか、何かしら出力系では欲しいんだよなぁ。
8位 template 。 低い位置だなぁというかまぁ STL は上の方にいるのだから 不自然な話である。 まぁマクロあれば自分で書く範囲なら それなりになんとかなるんだよな… でもそいうケースの場合は普通に template の方がいいけど。 まぁとにかく必要な頻度が低い。
9位継承。これも多態を上に置いておいてヘンな話だけど、 要は実装継承的なものを指していて、 多態は interface 的なものを指してることにしよう。 まぁ手間ははぶけること多いから継承好きなんだけどね。
10位は例外はなんかたいてい 超大域脱出(つまりどうしようもないことが起きてエラーメッセージだけ吐きたい時) にしか使わないからなぁ。そしてデバッガのこと考えると 超大域脱出とかしてるより SEGV の方が良かったりする。
(04:05)
http://code.google.com/p/gperftools-httpd/
というのもあるみたいなんだけど、 なんかずいぶん昔のもんだからかなんか知らんがビルドできなかった。 それに /pprof/symbol とか対応してる気配も無かったので良いこととした。
(03:46)
http://www.gnu.org/software/libmicrohttpd/tutorial.html
プログラムに埋め込む http サーバライブラリを 適当に探していて見つけた。 今のところ割と良さそう。
ただ POST の処理がえらいめんどい。 いやまぁこうなるのはわかるんだけど、 デカいバッファにとりあえず全部突っ込んであげるよモードが欲しい。
しかし実際書いてみたら POST の処理も まー悪くないみたいだった。 つーわけでこれが実装できそう。
http://google-perftools.googlecode.com/svn/trunk/doc/pprof_remote_servers.html
あと検討したのはこのふたつ。
http://www.hughes.com.au/products/libhttpd/
こっちはまぁ自分でループ書かにゃならんのが許せなかった。 そして select にタイムアウトを入れてやらない限り 自発的に終了することができなさげ。
つまりスレッドとか考えてるんかこいつって感じだった感じ。
http://sourceforge.net/projects/libhttp/
こっちはそもそもビルドできなかった。 bjam 使いかたわからん。 あとまぁ Boost 以外の C++ ライブラリは 信用してはらならないの法則に基づきまぁいいやと思った。
(03:45)
lambda を使ったコードのデマングルに失敗してるなーと思ったので、 適当に cvs up してビルドしなおしてみた。
% echo _ZZ4mainENKUliiE_clEii | ~/src/binutils/binutils/cxxfilt main::{lambda(int, int)#1}::operator()(int, int) const
おおー
そういえば move とかもまた増えるってことか。
(03:52)
最近シブサワコウの名前を街で見かけるのは何故だろうかとおもったら この人だったようだ。
http://ja.wikipedia.org/wiki/%E6%9F%B4%E5%92%B2%E3%82%B3%E3%82%A6
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%96%E3%82%B5%E3%83%AF%E3%83%BB%E3%82%B3%E3%82%A6
(23:26)
man pthread_create とかしてなんも出てこない→ カンで使うみたいなことを繰り返してたんだけど、 しかしなんかおかしくないかということで調べてみると、 pthread_once とかは入っているわけで。
どうも posix のやつは manpages-posix という パッケージに分けられていたようで、 これをインストールしたら無事に見られるようになった。
(23:33)
前 | 2025年 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 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ kazuho [うほ。お手柔らかに m(__)m > guncat というのは zcat とは違うんかな zcat だと全部のフ..]