ToDo:
寝る前に電気を消すためにスイッチに近付くのがめんどい。 どうにかして遠くからオンオフできるようにしたい。
どうやらこういうものがあるようだ。
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)
screen の ^t 2度押しとか無駄だなーと思ってたので Meta とのバインドを適当に .mlterm/key に書く。
Mod+x="\x14\x18" Mod+bracketleft="\x14[" Mod+s="\x14\x14" Mod+t="\x14\x14" Mod+c="\x14\x03" #Mod+d="\x14\x04" Mod+0="\x140" Mod+1="\x141" Mod+2="\x142" Mod+3="\x143" Mod+4="\x144" Mod+5="\x145" Mod+6="\x146" Mod+7="\x147" Mod+8="\x148" Mod+9="\x149"
Mod+d は普通に使ってるのと、 あとまぁ使う頻度が少ないので ^t でいいやということで。
本当は super 使おうと思ってたんだけど mlterm がサポートしてないから自分で実装するのもめんどいし、 あと使ってない Mod+? が結構あるからいいか、と。
参考にしたのは新山さんの設定ファイル。
http://www.unixuser.org/~euske/doc/bashtips/bashrc.html
次は screen 。
http://d.hatena.ne.jp/emacsjjj/20050717/p1
を参考にさせてもらって Return で xclip につっこめるようにする。
bindkey -m ' ' eval 'msgwait 0' 'stuff \040' 'writebuf /tmp/scr' 'exec !!! __scr2x2' bindkey -m ^M eval 'msgwait 0' 'stuff \015' 'writebuf /tmp/scr' 'exec !!! __scr2x2'
__scr2x2 はこんな感じで。 nkf -w が無いと日本語コピペに困る
#!/bin/sh nkf -w /tmp/scr | xclip screen -X msgwait 1
ついでに bindkey -m つながりで
bindkey -m ^v eval 'stuff \004'
をよく間違えるっていうか ^d は覚えにくすぎるので。
あと screen にシステムモニタ出すコマンドは
screen -X hardstatus alwayslastline '%` [%Lw]' screen -X backtick 0 0 0 /home/i/test/screen_monitor -s
なんだけど、これは画面右上の screen でだけ起きるようにしてやりたい。 まぁ sevilwm に問いあわせればいいと思った…
が、なんかそう X の Window から pid をひく方法って無い気がするんだよなー 的な理由で precmd にひっかけた ruby script で sevilwm の focus の当たってる window を調べて… 的なアプローチで適当に処理した。適当。
あーいや別の理由で screen の PID から window を調べるのは いずれにせよ欲しかったんだよなぁ。 screen -x と -r がわけわからんというのがその理由で。
やまぁ /tmp/pid.db とかに screen の pid 使って db 書いていけばいいか… screen-ls とかいうコマンドを作って、
There are screens on: 19611.pts-10.u4 (Attached) mlterm:3 1x1+564+340 vdesk=2 [rdic@/home/i cd '/home/i'@/home/i] 3468.pts-18.u4 (Detached) 3255.pts-2.u4 (Detached) 3236.pts-0.u4 (Detached) 17167.pts-16.u4 (Attached) mlterm:4 1115x709+564+340 vdesk=2 [vi@/home/i
]
とか出るようになった。 まぁとりあえずこんなもんでいいか…
あとなんかたまに mirc が死んでたりとかするし、 そもそも動かしてるサーバの数がもう把握しきれんため、 daemontools あたりの使いかたを覚えるべき。
それと sevilwm の multi display とか、 screen_monitor の cia 化とか
(07:11)
面白いなぁ。
何が面白いって、 はてなとかから適当にコードの無い文章を持ってきて 診断してしてもらうと、 必ず、
という診断が出ること。 個性的とか表現力とかは、単に、プログラム用語のせいかなーと思ったんだけど、 引越し記録 (http://shinh.skr.jp/m/?date=20100601#p02) とかでも 同じ結果が出るんだよなぁ。
適当に他の人の日記とかをはってみると、 だいたい似たような傾向があるみたいだ。 一文が長いとかは自覚してたんだけど、 まぁ別に気にしなくてもいいのかな。
適当に入れてみた中では、 まめさんのこれとかは高評価だった。
http://d.hatena.ne.jp/ku-ma-me/20100322/p4
やりました。 この文章ではなるべく頻繁に句読点を入れるようにしてたのですが、 読みやすいと言ってもらえました。 やりました。
しかしこれ、作家とかと比較してるから、 どんな文章でも表現力豊かで個性的に なっちゃうんじゃないかなー。
(16:29)
http://ja.wikipedia.org/wiki/BNE%E5%8F%82%E4%B8%8A
そういえばよく見かけるなと思って、 少し検索してみたことがあった。 よく見かけるどころか、 海外などでも見たことがあるように思う。
しかし、検索の結果は芳しくなく、 何が何やらわからない、 ということが判明しただけなのである。
…ちょっと硬く書こうと努力したけど、 全然やわらかいのまんまだった。 なんていうかコレ英語とか未知語の数で硬さが決まってるんじゃないかな。 コードとか入ると一気に硬くなるし。
BNE は正直ちょっと面白いなーと思った。 なんというか夢がある。 まぁ迷惑は迷惑なんだろうな。
(19:19)
http://www.youtube.com/watch?v=s5U-SRDD064
via http://d.hatena.ne.jp/ABA/20100609#c1276092770
面白そう。
(19:35)
前から思ってたがこれはダメだ。
> unixcat /tmp/sevilwm_:0.0/info G vdesk=1 sevilwm x=2832 y=1050 vdesk=1 mlterm:4 1114x1+564+340 vdesk=1 mlterm:3 1x1+564+340 vdesk=1 mlterm:0 561x1+564+340 vdesk=1 FOCUSED Emacs:2 1x347+583+702 vdesk=1 Emacs:1 551x348+581+700 vdesk=1 Google-chrome:0 1681x1+1149+861 vdesk=1 Emacs:0 1097x348+581+700 vdesk=1
これの Emacs:0 => Google-chrome の遷移が右でできない。 mlterm:4 の方に行ってしまう。
つまりえーと…
なので、右方向の遷移はえーと
100000 - (dstX - srcX) - abs(dstY - srcY) * 3
で評価されるらしいので、
mlterm4: 98410 Google-chrome0: 98331
となって y の差分が大きいものの、 x の差分が小さい mlterm が勝ってしまう、と。
まぁどう考えてもこの評価関数がひどい。 こんなもので良い理由がどこにも無い。
どう考えても角度を使うべき。 要は角度差が小さくて距離も短い対象が良い。 しかしまぁその二者をどう合成するかはマジメに考えないといけない。
mlterm
irb(main):015:0> Math.atan2(698-171, 1387-1396) / 3.14159 * 180 => 90.9784675354791 irb(main):013:0> Math.sqrt((171-698)**2 + (1396-1387)**2) => 527.076844492338
chrome
irb(main):016:0> Math.atan2(432-171, 2225-1396) / 3.14159 * 180 => 17.4759534949213 irb(main):017:0> Math.sqrt((171-432)**2 + (1396-2225)**2) => 869.115642478031
直感的に角度は2乗するといい気がする。 ただ degree を単に2乗すると 30度のズレが 900 ピクセルの距離に相当してしまうので、 うーんこれはちょっと大きすぎるかもしれない。
ちょっと実験してみると、なんか意外な感じで、 15 度くらいずれてたらもう飛ばしてくれてもいいよと感じるみたいだった。 それだと角度の 2 乗でも足りないか…
実装してみた。 なんか普通に角度の自乗プラス距離で悪くないみたいだ。 しばらくこれで試してみようと思う。
(22:14)
xclip のかわりにコレを使うと gtk のクリップボードにも反映されるみたいだ。
http://highmtworks.spaces.live.com/Blog/cns!3B475A7E547A2260!277.entry
より。
(22:39)
http://twitter.com/ufcpp/statuses/15806048195
のそもそも使わない、って話はちょっと違う話かなぁ。 「若い」は相対的な感じなんでどのくらいを指しているかわからないけど。 要は仕事で実際に使わされて鬱 C++ 死ね死ね死ね… っていう人とかをあんま見ないなー的な話を考えていたので、 20 前後で趣味でコード書いてて「そもそも C++ 使わない」 っていうのはまぁそういう人はそりゃいるだろうけど そのへんの層はあまり考えてなかったのだった。
たぶん 25-30 くらいで元々別言語使ってたのに C++ 使わされてて 文句言う人とかあんま見ないなーと思っているというような。 つっても見てる層偏ってるからあやしいもんだけど。
あとそもそもコンパイル言語使わない層ってのはこう 昔っから、具体的には N88 BASIC くらいから 常に一定数いると思うのだけど、 そういう人の率って増えてたりするのかな。 スクリプト言語で職になる可能性が増えてる以上、 増えてそう、かな。
(14:17)
今週末にやるべきじことは全てこなしたと見ていい。
いや sevilwm の改造をやった方がいい。 あと screen 環境をほげほげ
あと C と Java の sporcle があると教えてもらった。
http://www.sporcle.com/games/ddt/keywords_c89
http://www.sporcle.com/games/robv/java_keywords
ログインしてなかったからよく覚えてないんだけど、 C は 30 くらいだったんじゃないかと思う。 やはり僕は C を知っているとは言えないようだ。
今 2 回目やってみたら全部入れられた。
(17:04)
http://jp.techcrunch.com/archives/20100609apple-chrome-bugs/
を見てアホかと思ったのだけど
昨年、GoogleがAppleに代わってWebKitのコミットを行うようになったが、Appleは今でも当然ながら深く関わっている。
は特に何喰ったらこんなこと考えるのかなーレベルだった。
で原文 (http://techcrunch.com/2010/06/09/apple-chrome-bugs/) を チラ見したらどうも overtook を誤訳したのかな。 overtake って知らんかったけど追い抜くって意味らしい。 たぶん take over の引き継ぐと混同して誤訳したんじゃないかなーと思う。 僕も overtake って知らんかったから よく知らない事象についてなら勘違いしそうだ。
あとそうだ commit 数抜いたってのはそうなんだろうけど、 Google ってパッチの単位を小さくしたがる傾向があって Apple の人は比較的大きいの入れる傾向があるし、 あとまぁどうでもいいテストの expectation についての変更とかも ポンポン入れてるわけだしねえ的な。
というようなことは最初のコミット数が Apple より多くなりましたよ、 って書いた人のブログにも書いてあるし、その補足もあるし、 さらに tech crunch 自身もその件を書いた時にもその補足とかに触れてるし、 それなのになんでこいうことになるんだろうかねーという。
http://neugierig.org/software/chromium/notes/2010/02/webkit-commits.html
http://neugierig.org/software/chromium/notes/2010/02/webkit-commits-followup.html
(19:11)
六本木の牛丼屋の位置を確認しようと思って見てたら 何故かこの店だけやたらコメントついてる。 なんでだろ。
で、素敵なレビューを見つけた
http://r.tabelog.com/tokyo/A1307/A130701/13039670/dtlrvwlst/313395/
(22:52)
前 | 2025年 1月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ IKeJI [見た感じ、既存の壁に埋め込み型のスイッチを外して付けるタイプのような…]
_ shinh [なるほど借りてるマンションでそいう解体やってもいいもんですかね…ダメなんでしょうけど現状復帰できれば実質問題ないです..]
_ Gimite [スイッチ交換するぐらいならいい気もしますが、どうなんでしょうね。ただ、法的には電気工事士の資格がないと自分でやっちゃ..]
_ shinh [> リモコン式の天井灯を買う 天才ですね。どうしても物があるとそれを使わないって発想が出てこない…例えば段ボールが..]