トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

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|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|07|

ToDo:


2010-06-17

_ woofer

http://woofertime.com/

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
  3. クラス
  4. STL
  5. 多態
  6. public/protected/private
  7. オーバーロード
  8. template
  9. 継承
  10. 例外

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)


2010-06-15

_ そうそう

http://code.google.com/p/gperftools-httpd/

というのもあるみたいなんだけど、 なんかずいぶん昔のもんだからかなんか知らんがビルドできなかった。 それに /pprof/symbol とか対応してる気配も無かったので良いこととした。

(03:46)

_ libmicrohttpd

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)

_ binutils

lambda を使ったコードのデマングルに失敗してるなーと思ったので、 適当に cvs up してビルドしなおしてみた。

% echo _ZZ4mainENKUliiE_clEii | ~/src/binutils/binutils/cxxfilt
main::{lambda(int, int)#1}::operator()(int, int) const

おおー

そういえば move とかもまた増えるってことか。

(03:52)


2010-06-14

_ シバサキ

最近シブサワコウの名前を街で見かけるのは何故だろうかとおもったら この人だったようだ。

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)

_ manpages-posix

man pthread_create とかしてなんも出てこない→ カンで使うみたいなことを繰り返してたんだけど、 しかしなんかおかしくないかということで調べてみると、 pthread_once とかは入っているわけで。

どうも posix のやつは manpages-posix という パッケージに分けられていたようで、 これをインストールしたら無事に見られるようになった。

(23:33)


2010-06-13

_ 端末とキーボード

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://logoon.org/

面白いなぁ。

何が面白いって、 はてなとかから適当にコードの無い文章を持ってきて 診断してしてもらうと、 必ず、

  • 1 文章の読みやすさ E 一文が長い
  • 2 文章の硬さ E 文章が柔かい
  • 3 文章の表現力 A とても表現力豊か
  • 4 文章の個性 A とても個性的

という診断が出ること。 個性的とか表現力とかは、単に、プログラム用語のせいかなーと思ったんだけど、 引越し記録 (http://shinh.skr.jp/m/?date=20100601#p02) とかでも 同じ結果が出るんだよなぁ。

適当に他の人の日記とかをはってみると、 だいたい似たような傾向があるみたいだ。 一文が長いとかは自覚してたんだけど、 まぁ別に気にしなくてもいいのかな。

適当に入れてみた中では、 まめさんのこれとかは高評価だった。

http://d.hatena.ne.jp/ku-ma-me/20100322/p4

やりました。 この文章ではなるべく頻繁に句読点を入れるようにしてたのですが、 読みやすいと言ってもらえました。 やりました。

しかしこれ、作家とかと比較してるから、 どんな文章でも表現力豊かで個性的に なっちゃうんじゃないかなー。

(16:29)

_ BNE

http://ja.wikipedia.org/wiki/BNE%E5%8F%82%E4%B8%8A

そういえばよく見かけるなと思って、 少し検索してみたことがあった。 よく見かけるどころか、 海外などでも見たことがあるように思う。

しかし、検索の結果は芳しくなく、 何が何やらわからない、 ということが判明しただけなのである。

…ちょっと硬く書こうと努力したけど、 全然やわらかいのまんまだった。 なんていうかコレ英語とか未知語の数で硬さが決まってるんじゃないかな。 コードとか入ると一気に硬くなるし。

BNE は正直ちょっと面白いなーと思った。 なんというか夢がある。 まぁ迷惑は迷惑なんだろうな。

(19:19)

_ sevilwm の window switch

前から思ってたがこれはダメだ。

> 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 の方に行ってしまう。

つまりえーと…

  • Emacs:0 1097x348+581+700 中心 (1387, 698)
  • mlterm:4 1114x1+564+340 中心 (1396, 171)
  • chrome:0 1681x1+1149+861 中心 (2225, 432)

なので、右方向の遷移はえーと

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)

_ xsel -i -b

xclip のかわりにコレを使うと gtk のクリップボードにも反映されるみたいだ。

http://highmtworks.spaces.live.com/Blog/cns!3B475A7E547A2260!277.entry

より。

(22:39)

本日のツッコミ(全4件) [ツッコミを入れる]

_ Rui [http://www.nytimes.com/2009/12/09/nyregion/09bne.html ニュー..]

_ shinh [おおインタビューとかあるんですねえ。ありがとうございます。 色々面白いです。ほぼ一人の人間の仕事なんですねぇとか(..]

_ Rui [でもインタビューに出たのはちょっと残念です。宗教団体説とかがこれで否定されてしまうので気持ち悪さがずいぶん減ってしま..]

_ shinh [たしかにそういう面はあるかもですね。しかし記事の最後でちょっと書いてあったようにこの BNE が偽物で本当はあやしげ..]


2010-06-12

_ 物干し台を買わなければならないがどこで買えばいいのか

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)


2010-06-10

_ もげり

  • 片付けはそれなりにした。洗濯祭りは快挙
  • 今週末は台所周りかなぁ
  • 久しぶりにやると斑鳩全然うまくできない
  • 仕事的な意味でたくさんなんかしてる時の次の週に ICFPC ってのはこう、いいんだろうか悪いんだろうか
  • 銀行振り込みを手続きしないといけない
  • 転入届を出さなければならない。前回みたいに2年とかいうオーダーで住所不定なのはあまりよくない
  • クレジットカードの住所変更などをするべきな気がする
  • デュアルディスプレイにしてみた。なかなか良いさっさとすべきだった。デュアルディスプレイで使いやすいように sevilwm をいじりたいと思う

http://twitter.com/cpp_akira/statuses/15689075720

一掃した記憶は無いのだけど、 統計的に見ると C++ に文句言う世代ってのがある気がするなぁ。 今 30 代の人あたりがそのへんな気がする。 今から見ると当時は今よりももっともっと C++ はうんこだったし、 まぁそういうもんじゃないかなぁと思う。

やはりうんこなものを仕事で使わされたりすると、 こう取り返しのつかない感じで嫌いになるのかもしれず。

30代と書いたけど、もちょっと上の 40 代とかオーダーの人達は意外と C++ 嫌いじゃない世代なイメージがある。 なんでだろまぁその世代に知人少ないからサンプル数少ないけど。

さて 30 代だけど C++ 好きだよっていう例外はたくさんあるんだけど、 それより下の世代で C++ 嫌い嫌い大嫌いっていう人はあまり知らない気がする。 ちなみに tanakh さんは単にツンデレなだけで たぶん僕より C++ 好きだと思うのでこの議論には影響しない。 (cf. http://twitter.com/tanakh/status/6626794421)

C++ が嫌われなくなった理由は、

  • VC7 と、 gcc-3.0 でずいぶん良くなったのと gcc-3.3? あたりで ABI 安定して C++ がかなり安定した
  • Boost やら Modern やらそのへんで C++ の奥深さが発見されていった

あたりかなぁと思う。 後者はこう、「そう俺はむしろそこが嫌いなんだ」って言う人も多そうなんだけど、 しかしうーんやはりそいう呪詛は 20 代オーダーの人から聞いたことは あんま無い気がする。

はて。

ひとつあるのはなんていうかみんなが嫌いな言語ってのは ダサい言語であって複雑な言語ではない気がするなぁと思う何かで。 スクリプト言語でいうと PHP はどうやらみんなが嫌いで、 Perl は複雑だけど好きな人も結構いるというような。

どうでもいい…

(01:09)


2010-06-07

_ 斑鳩

を久々にやる

  • 1面最後の汽車の間のトラツグミだっけ? を全滅させてたとか信じがたい
  • 2面の飛行機の集団ヘンな撃ち方してた気がする
  • 3面テロップ前早回し4つ出すパターンは異様な感じだったと思う
  • 4面外周撃ちしてたとか信じがたい
  • 4面亀の集団つないでたのも信じがたい
  • タゲリ第一で死ぬことってなかったよなぁ…
  • 石で死ぬのはまぁいいか…

(01:18)


2010-06-06

_ ゲーム

http://www.jmuk.org/diary/index.php/2010/06/06/shanghai-memo/

を見てタイでよくやられてた ビール瓶使ってやるゲームは何だったんだろうと思い出した。

どうもこれらしい。

http://210.150.246.43/game.hp/makhost/1.html

そうそうチェッカーかなーと思って見てたら 端に行ったとたんすごいことになったのだった。

タイ式チェスみたいなのもあるみたいだ。

http://210.150.246.43/game.hp/makruk/1.html

ていうかこのサイト面白い。

http://210.150.246.43/game.hp/contents/shoukai.html

(23:05)


2010-06-05

_

http://atnd.org/events/4788

今回は開始前に気付けたけどしかし締め切られていた

(02:43)


2010-06-03

_ 部屋を

片付けなければならない…

とりあえず本を本棚に入れるというのは、やった。

後比較的急務なのは PC の位置確定とベッドの設置ではないかと思う。 しかしそれをするには作業スペースを作る必要があり…

つまりこう整理とか苦手だなぁと思う

(23:19)

_ トリッキーな

http://d.hatena.ne.jp/shinichiro_h/20100603#1275573793

の話だけど、こういうのに魅かれて行った最初の一歩は このスレだったような気がする、 が、よく覚えてない。

http://webcache.googleusercontent.com/search?q=cache:fu6qXUE24joJ:pc.2ch.net/tech/kako/983/983191866.html+%E3%83%88%E3%83%AA%E3%83%83%E3%82%AD%E3%83%BC%E3%81%AA%E3%82%B3%E3%83%BC%E3%83%89&cd=1&hl=ja&ct=clnk&gl=jp&lr=lang_ja&ie=UTF-8&inlang=ja

あと duff's device はもちろん忘れてた

(23:39)


2025年
7月
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
1.shinh(2014-05-24 04:54) 2.Gimite(2014-05-24 04:54) 3.shinh(2014-05-24 04:54)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h