トップ «前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|

ToDo:


2010-02-01

_ 並カン

何やら色々楽しかったものの宿題も増える感じだった。

  • メーヤウが店の雰囲気かわってからやはりおいしくなくなってるような…
  • 並列プログラムの作り方という本が良いらしい
  • Molatomium の詳説とかはなかった
  • id:goyoki さんの FPGA 系の。やっぱ楽しそうだよなぁ
  • recursive mutex はうんこって話は何度か聞いたことがあった気がして、いくつかあまり意識しないような理由があったよなぁと思ったけど思い出せなかった。意識するような理由としてはここの2つ目の解答とかがあったと思う。 http://stackoverflow.com/questions/187761/recursive-lock-mutex-vs-non-recursive-lock-mutex
    • パフォーマンスとかもあるけどそれは重要じゃない(と言わないと説得力が落ちる)
  • これを途中まで読んだ http://www.boostcon.com/site-media/var/sphene/sphwiki/attachment/2009/05/02/multithread.pdf
  • memcached について id:w_o さんにヨタ話をしたり。使ったこともないくせに
    • 一番大きいのは memcached とかいう話をしている時は、そもそもローカルだけで解決する話をしてない(という脳内設定(ここで現実のサービスの流量は問わない)になっている)ということかなーと思った
    • あとまぁ 1Gbps でもディスクよりネットワークの方が速いという感覚の模様。僕の体感もそうだなぁ。 http://highscalability.com/numbers-everyone-should-know
  • shared_ptr はいずれにせよ一度実装を読むべき
  • mutex 作ったスレッドではロックを全くしないとかいう話はこれなんだけど論文ダウンロードは金かかるみたいだ: http://shinh.skr.jp/m/?date=20080731#p01
  • lock free は無茶苦茶いい話だったと思う。知ってる話も多かったけどここまできちんとまとまってわかりやすく順序だてて聞いたことは間違いなく無い。動画とか上がるならみんな見るべき!
    • 終わってからスライドのコードは while でかこってるんなら weak の方でいいんじゃないですかと聞いたら、次のオブジェクト作るコストによってそれが軽いんなら weak でいいけどそれ場合によるよね、とのこと。なるほどそりゃそうだ
  • Haskell はまぁいつものことだけど使いかたうんぬんよりモチベーションとどう解決したかを明確に知りたいなぁと思った。いつも聞く前より疑問が増える。例:
    • Haskell は並列プログラムの難しいところはだいたい言語で隠蔽できる(笑)
    • $|| とかコードがよくわからんかった。 sieve の方はどこを parallel にしてたんだろうか。
    • parallel だとなんで -feager-blackholing が必要なの、というか普通に考えて「このサンク実行中っす!」フラグは並列だろうとなかろうと必要な気がしてたのでよーわからんかった。
    • 例で出されてた quick sort とかってたぶんタスク的なのを 2N 個作るんだよなーとか思ってそれ普通に正格に評価するより遅いんじゃねーとか想像して聞いたところ、そもそもバグ踏んでるからわからんとかなんとか。 real world haskell とか言うヤツはみんな詐欺師である
    • nested data parallelism ってなにかよくわからず
    • STM で CAS ってなにかよくわからず
    • last core parallel slowdown / spin lock? とかメモった上に質問したけどよくわからず。なんで CPU 一個残すと遅くならないの?
    • 並列プロファイラのモチベーションがわからず
  • id:kazuhooku さんに話を色々聞けてよかった。特にお聞きしたかったのは下記の2点なんだけど、特に銀の矢はここにも無いようだった
    • なんでも一人で上から下までやっちゃうのってすごくないすか→経験。あと IRC で聞く
    • 一人でやってると「おやまの大将」というか、全然ベストじゃない解に落ち着いちゃう不安とか無いすか(実際一人じゃなくても企業ごとに脈々と伝わるベストじゃないけど適度に動くライブラリとかそういうのあると思うんだよな)→あるかも。あと IRC で聞く

(00:27)

_ IEにあわせて

http://tinyurl.com/yc5ptjm

の fugafuga が WebKit と IE で動作そろえてて涙ぐましいとかいう話をしていたら、下の 3 つくらいが一致してないと気付いた。

ちなみに WebKit の該当コード。文字列長を3でわってどうこうとかやってるそうな

http://trac.webkit.org/browser/trunk/WebCore/dom/StyledElement.cpp#L346

(22:56)

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

_ 酒井 [当日どういう話だったか知らないけど…… > nested data parallelism ってなにかよくわからず..]

_ shinh [おおありがとうございます! > 直列処理を複数のデータに対して並列に適用するのが普通の data parallel..]

_ 酒井 [> 配列を4つに切るのが普通ので、配列を2つに切ったやつをさらに2つに切って…みたいなことやったものを並列にどうこう..]


2010-01-28

_ PRA

今頃になって PRA に second author 的な感じで載るらしい。 一般的にはいいことなんだろうけど、 しょうみのところ何を思えばいいかわからん程度に何も思えないなぁ面白い

(23:17)

_ メモリとの戦い

パソコンが遅い == メモリが遅いについて、 どんなのがあったっけなあと適当に思いだしてみる。

  • IRC クライアントのメモリ使用量がだんだん増えていく => golf 場死亡

頻繁に起きていた。今は IRC クライアントとは違うマシン使ってるというか Ruby で書かれた rail から Perl で書かれた tiarra に移行したら大丈夫になった。 Ruby ってより rail が悪い可能性が強い気がしてるけど調べてないのでよくわからない。

  • Linux の Firefox が異様に遅い

これはたぶん二つ問題があって、片方の disk 全力で書いてる最中に完全に動作が止まる、って方は fsync がどうこうなので本質的にあまり関係ないと思う。まぁしかしそれでなくてもメモリ喰いまくって遅かった。クライアント側でメモリ

対策としては色々やったけど Linux Chrome 出てなかった時期は Windows Chrome 立ち上げて rdesktop でアクセスとかやってたくらい辛かった。

  • Windows 遅い

これは Windows が悪いってより僕の使ってるマシンで一番非力なマシンが Windows な上に coLinux まで動いてるというハンデがあるので Windows を責めるのはかわいそう。いずれにせよキャッシュに行ってる気配しかしないのでまぁメモリさんが足りないのが悪い。

  • でっかいデータの中のでっかいレコード

適当にでっかいデータを処理してる時に、たまたま一個だけ入ってるでっかいレコードを全部メモリに読もうとして死亡→一からやりなおし、ってパターンは悲しい。

  • 自分の書いたコードがおバカ

例えば ICFP の時の僕の UM とか適度にリークしてたのでひどかった。

あとまぁなんかしら適当にでかいデータ処理するとデータ2倍にしたら終わるまでの速度が20倍とかよくあるよねー的な。

(23:18)

_ ircnet

http://slashdot.jp/it/article.pl?sid=10/01/28/0536223

なんか実際に客がいるサービスをやっていないので、 大学でクラスタ〜とかの研究するの大変という話を聞いた後だったので、 こういうの引き受けたりしたらいいのになぁとかちょっと思った。

単に ircd 動かすだけならどうでもいいと思うけど、 認証つきの全文ログの提供&ログ検索などなどやれば結構大変そうな気がする

(23:21)

_ あああと

もう何茶だったか忘れたアレ。

http://d.hatena.ne.jp/shinichiro_h/20060831#1156993501

侘び茶だった。 あれ的な感じで web からも Ajax でアクセスできますよ〜とか XMPP も喋りますよ〜とかそういうのやって欲しい。 まぁ結局俺がやって欲しいだけにすぎないが

というか stateless なプロトコルはともかく、 コネクションはりっぱなしになるようなプロトコルと データセンターのやりとりとかよくわかってないんだよなぁ。 たぶん難しそうだと思うんだけど。 研究とか的にはどうなんかな。

(23:25)

_ TODO

ひさびさに…

  • tracer
  • ゴルフ場と ipcrm
  • ゴルフ場のバージョン情報とタイムアウトと exec count と…
  • ゴルフ場の同一タイムスタンプ問題 http://longlong.way-nifty.com/blog/2010/01/post-c512.html
  • メガデモ
  • GCC とたわむれる
  • syard とたわむれる
  • syard の script.js をちょっと書き直す
  • テトリス
  • TCC は -run をあと少しリファクタリングして push
  • TCC x86-64 asm
  • D
  • w3m & webkit であそぶ
  • kevil がなんかおかしい件
  • bfx は忘れてた
  • ada は忘れてた
  • grub コード整理

(23:52)

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

_ naruse [せっかくWebSocketsやってる鵜飼さんが近くにいるのに、と思いました。 いや、物理的に近くなのか?でも先日お会..]


2010-01-27

_ 婚活サイト

ちょっと前に婚活サイトにまじめに登録した人の話を聞いて面白かった。

  • なんかその友人は2ヶ月くらいだったか登録してた
  • その間最低1週間に1人は紹介してもらうことが保証されているシステム
  • その人の場合は16人紹介されて7人と会った
  • サイトに払った金額は16万(たしか)
  • 女性も金はらってる
  • 男は年収とか書いて女は体重とか書く
  • 写真はカメラとか無い状態で事務所に行って見る
  • (今のところ)貢がせられたりとかは特にない

とかだそうだ。

なんか思ってたよりまともというか サバサバしてるというか合理的というかなんだなぁと思った。

(01:56)

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

_ もわ [会社の漫画棚に『あらゆる婚活してみました』という本をぶちこんどいたのでよろしければどうぞ。かなり非合理ですw]

_ shinh [ありがとうございます読んでおきます!]


2010-01-22

_ We use Lua internally at Google

http://google-opensource.blogspot.com/2010/01/love-for-luajit.html

知らんかった

(05:59)

_ QEMUメモ

http://blog.kmckk.com/archives/cat_107264.html

面白い。 TCG は興味あったのに調べてなかったんだけど、 なんか結構 QEMU 以外で使うのにはイマイチな感じなのかな。

(06:02)

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

_ calgary search engine optimization [そのような意味&#..]


2010-01-21

_ dl.rb

http://mkosaki.blog46.fc2.com/blog-entry-1069.html

これはそのなんというかひどいなとしか言えないなぁ… なんでそこでインターフェース切ったのって感じだろうか。

まぁいつも言ってるんだけど x86-64 持ってる人は以下を実行してみるべき。

int main() {
    printf("%d %f\n", 1.2, 42);
}

(22:47)


2010-01-20

_ G1

version down (1.1) => BIOS の update => version up (1.6) とかしたら 再起動しかしない状態になった。 しょうがないので user data も含めて factory reset かましたらなんとよくなった。

おうちの SSID 拾ってくれないのはホントなんでかなーと思いつつ SSID 一文字とかが駄目なのかなーと思ったけど違って、 いろいろぐぐってたらどうも、

http://groups.google.co.jp/group/android-sdk-japan/browse_thread/thread/3e5a7ec170e9e67/efbcf96c5d3f39dc

にある通りで、 channel が 12 になってたのが良くなかったようなので 11 にした。

あとはいつも入れてるアプリを入れてみたり。

AndroidSKK も入れてみた。 よく動いてて良い。 ただ Enter 入れると日本語入力になるので、 Google に英単語入れて Enter で submit したりすると 日本語モードになるのがちょっとびっくりするけど、 まぁ実用上は問題ないかも。 いや submit せずに日本語モードにできないのはちょっと困るかも。 まぁしばらく試してみようとおもう

http://d.hatena.ne.jp/minghai/20090502/p1

コード読んだ。 なんか soft keyboard なら / 長押しでいいみたいだな。 あとなんていうか上下左右入れるヤツで 上入れたら例外飛んだぽいので、それも含めて適当にいじってみるかな。

(01:19)

_ 電話番号

080-4366-8161

らしいんで適当にどうぞお願いします。 メアドは未だによくわからんのだけど、 まぁ gmail でいいんじゃないかな。

いずれにせよ phs ___at___ shinh.skr.jp を gmail に転送しとくようにしておいたし、 まぁ i.softbank.ne.jp とかゲットしたら適当にそっちにも転送すると思われるので、 それでいい気がする

(01:39)

_ i.softbank.jp

ついにこれのパスワードの調べかたがわかった。 契約したときにもらった紙に書いてあったのだった。 というわけで設定したので phs ___at___ の forward 先に追加したので まぁなんとでもなると思われた

(02:02)

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

_ yanbe [ i.softbank.jpということはiPhoneをご購入されたんですね。 iPhoneのメールアドレスとしては@..]

_ shinh [ああええ MMS の方は取得/変更できたんですが、これなんか他のデバイスでメール見るとかキツそうというか、えーと、具..]

_ tekezo [なんと、iPhone 3GS をもし売るのであれば買いたいです。]

_ shinh [必要なことがあれば返していただけるなら喜んでさしあげますです。]

_ tekezo [ありがとうございます。 無料というのも気がひけるので支払いはしたいと思います。 手放しても大丈夫そうになったら言って..]


2010-01-17

_ G1

使おうと思ったら色々問題があった。 ありすぎてわけがわからん。 最初の問題は su できないとか adb shell できないとか。

しょうがないから色んなイメージを入れてみたりとかそんなこんな しているうちに突然再起動したりする問題と、 android.prcess.media has stopped unexpectedly とやたら言われる問題が起きた。 あとおうちの SSID を見つけてくれない。

adb の方は別につなげられるよーと言われたので、 色々やってみたところ

http://groups.google.co.jp/group/android-group-japan/msg/8bf1b8894ca31148

を見つけて udev のエントリーを2つにしたら動くようになった。 なんでやねん。

android.process.media の方はネットの情報によると SD card をフォーマットすればなおるらしいということだったのだけど、 format するために unmount したら即再起動するという悲惨な状態だった。

こっちは isshiki さんに SD card をフォーマットしてもらって解決。

しかし今度は USB cable を刺すと再起動するという…

なにがなんだかわからない

(19:29)


2010-01-14

_ reviewer

http://webkit.org/blog/1012/shinichiro-hamaji-is-now-a-webkit-reviewer/

ぶじなれたみたいだ。

(04:11)

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

_ naruse [おめでとうございます]


2010-01-13

_ ReRe: 人材獲得作戦

http://d.hatena.ne.jp/ku-ma-me/20100112/p1

s=*$<
x=y=0
y+=1until x=/S/=~s[y]
q=[[a=s,x,y]]
(a,x,y=q.shift
a=a.map &:dup
a[y][x]=?$
4.times{|k|s[j=-(k^1)/2+1+y][i=-k/2+1+x]!=?*&&(s[j][i]=?*;q<<[a,i,j])}
)while/G/=~a*''
puts a

あんまマジメにやってないんだけど 適当に解いてて一応勝ってる (181B) ぽいので。

はじっこに壁があるのを仮定してるのはちょっとずるかったりするんかな。 あと S の位置が 1,1 というのを仮定してよかったらだいぶラクなんだけどなあ。 なんかそれを仮定してそうなコードをどっかで見た気がしたんだ

(00:43)

_ SysV IPC でチート

http://john.freml.in/codegolf-cheating

できそうと教えてもらったけど、 まぁ誰もやらんだろうと思ってたんだけど、やってくれた。

というわけで共有メモリとメッセージキューは殺したんだけど、 semaphore は mono が使うらしい。 アホかーと思ったんだけど、 まぁ数をギリギリの数にしておいた。

でもまぁ気持ち悪いし、 一個でも semaphore 作られたら C# のプログラムが動かなくなるので、 後で semaphore はクリアするようにしておこうと思う。 で、 Ruby は syscall 呼ばんと getsem とか無いかなぁ…とかいう。

(00:48)

_ 167B

s=*$<
x=y=0
y+=1until x=/S/=~s[y]
q=[a=s,x,y]
(a,i,j,*q=q
a=a.map &:dup
a[j][i]=9*4.times{|k|q+=[a,x,y]if s[y=-~k%3-1+j][x=-k/2+1+i]!=s[y][x]=?*})while/G/=~a*''
puts a

まだまだ縮みそうではある

(01:04)

_ 161B

s=*$<
x=y=0
y+=1until x=/S/=~s[y]
q=[a=s,x,y]
(a,i,j,*q=q
a=*a*''
a[j][i]=9*4.times{|k|q+=[a,x,y]if s[y=-~k%3-1+j][x=-k/2+1+i]!=s[y][x]=?*})while/G/=~a*''
puts a

よく考えるとどうせ 1.9 じゃ動かんしなぁ

(01:08)

_ 120B

q=a=gets(p),~/S/
(a,i,*q=q
a*=1
a[i]=9*4.times{|x|q+=[a,x]if$_[x=-~x%3*-~~/$/-~/$/+-x/2+i]!=$_[x]=?*})while/G/=~a
puts a

golf data structure is always linear は金言だなぁ…

しかしなんかむしろコードが間違ってたらはずかしいな

(01:32)

_ 124B

q=gets(p)*1,~/S/
(a,i,*q=q
a[i]<?S&&a[i]=?$
4.times{|x|q+=[a*1,x]if$_[x=-~x%3*-~~/$/-~/$/+-x/2+i]!=$_[x]=?*})while/G/
puts a

どうしても S を塗らない処理が大変だなぁ。 G を塗らないのはむしろ短くなった気がするんだけど…

(02:31)

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

_ mame [おうおう。正規表現に取り付かれて普通の BFS を試そうともしませんでした。 細かいですが、S とか G とかは書き..]

_ shinh [うわ本当ですね。むしろ潰さんと駄目だと思ってました。どうしたもんかなー]

_ ksk [4.times{...} は [1,u=1+~/$/,-1,-u].map{|x|q+=[a*1,x]if$_[x+..]

_ shinh [おおいいですね。数秘術を無駄に使いたがってしまうのは悪いクセです。 [1,u= ~/$/,2*~u,u].map{..]


2010-01-11

_ x86-34

最近 64bit とかになって hoge_t* が 8 バイトあるのが 耐えられないとか言ってよくわからないうわごとをよく言っている。 そういううわごとの一つとして最近よく言ってるのが x86-34 で。

まず ELF 。たぶん class は ELF32 でいい。 Machine は EM_X86_34 で。

kernel 。 CPU は 64bit モードで動かすけど kernel が mmap にかえすアドレスは 34bit 空間に。 vdso とかそのへんも 34bit 空間で。

コンパイラ… int* とか string* とかは 32bit で表現。 デリファレンスは全部 4*(%rax) とかで頑張る。 char* とかとにかく 4byte 以下のデータへのポインタと void* はしょうがないので 64bit で表現。 だから sizeof(char*) > sizeof(int*)

char* => int* の cast とかは基本無理で困る。 まぁデータの 3byte 目を int として読むみたいな、 つまり *(int*)(chptr+3) みたいなのは許すとして、 後は基本許さん方向で。

void* => int* の cast は 4byte アラインされてないと不定な動作!

jmp と call は x86-64 と同じでいいや。 ただ関数は 4byte 境界に。

リンカとローダはグローバルにある int* の解決とかはちょっといじらにゃいかん気がする。

デバッガはそれなりに。

要は 4GB のアドレス空間は足りないかもしれないけど 16GB あれば10年くらいは戦えそうじゃないかという。

うわごともいいところだなあ。

(03:41)

_ FPE

#include <stdio.h>
int main() {
    // ここでとある方法で e を定義すると FPE が出る
    printf("%d\n", e - e);
}

というような e があるんだなぁとふと見つけた

(03:46)


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
1.tekezo(2014-05-24 03:52) 2.shinh(2014-05-24 03:52) 3.tekezo(2014-05-24 03:52)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h