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


2013-06-16

_ C++Now! 資料

http://partake.in/events/c09cd407-4e60-4a9c-9338-b3f968d30568

なんか正直期待してたより面白い資料が無いなって感じだった。

https://github.com/boostcon/cppnow_presentations_2013/blob/master/tue/Cpp11_SweatingTheSmallStuff/Cpp11_SweatingTheSmallStuff_CppNow_13.pdf?raw=true

小さい変更色々。 {} での初期化、 union 、 enum 。 union は誰得感が強いけど他二つはまぁいい感じ。

https://github.com/boostcon/cppnow_presentations_2013/blob/master/tue/binary_compat_for_cpp_devs.pdf?raw=true

https://github.com/boostcon/cppnow_presentations_2013/blob/master/mon/qt_event_loop.pdf?raw=true

Qt 話を二つほど。 ABI とかはめんどくさい話だなあっていう。

thread って入ってるやつは全部ながめたけど、見れるやつは全部どうでも良いかなーという感じだった。

http://homepage1.nifty.com/herumi/diary/1306.html#15

bag のやつは、よく見ると一応理想的な状態ならこれ、っていう線をひいておいてくれてたので、一応完全に線型に scale する場合との比較はできるようになってた気がします。がまぁテーマが単なる thread pool にしか見えなかったんですが。

https://github.com/boostcon/cppnow_presentations_2013/blob/master/thu/tmpdebug_cppnow13.pdf?raw=true

warning 埋めて template meta programming debugger とか作ってた人たちが clang いじる方針に変えてまだやってるぽい。

あとは poco ってのが boost と違って親しみが持てるコードで良いと教えてもらった。言われてみれば前にもどこかで聞いたことがある名前だったかもしれない。ざっとコード眺めてみた感じではぱっと見良い。ネットワークライブラリ出身らしいけど、イベントループが見当たらないのがへんな感じ。 Runnable とか作るための部品は結構あるぽいからなんとかなるかもだけど、 signal とかもやってなさげなのであまりやりやすくは無いかな…

ていうかそういうのしたかったら Qt ていうのが一番適切な気もする…

(20:51)

_ TM for C++

そんなのよりやっぱ普通に C++ は work group かなんかの論文だかなんだか読んでるのが面白い気がする、よくわからん子が書いたスライドより質が一定してるわけで…

でざっと TM について目を通す

https://sites.google.com/site/tmforcplusplus/

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3341.pdf

C++ への提案はこれがみやすそう。 GCC だと __transaction_atomic, __transaction_relaxed, __transaction_cancel あたりは実装されてる。 libitm ってのが Haswell なら HTM 使うかがまだよくわかってなくて、たぶん使ってくれる command line option がある気がするんで試してみたいと思っている。

http://transact2013.cse.lehigh.edu/gottschlich.pdf

C++ みたいな generic programming と lock の相性が悪いって話。分離されてたコード片の組み合わせ方によって、 lock の順番が変わる、ってのは理解ができる。でもまぁ lock が必要なようなところで template meta programming するのはそもそも筋が悪い気がするんだけどな…

http://static.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm.pdf

TM はそのままプログラマに見せるんじゃなくて、 TM を使って global lock 的な semantics 見せとくのが良いよ、的な話、かな。例を見るとわかりやすい気がする。

(21:01)

_ chrome build

Fedora release 16 (Verne) Linux 3.4.11-1.fc16.x86_64 Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz x8 7.7GB

で 55m50s

Debian GNU/Linux jessie/sid Linux 3.9-1-amd64 Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz x8 7.7GB

で 25m50s

だいぶ速いとは言える。

(21:46)

_ 費用対効果とか

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

一連の教育は他のとこも含めてまぁ…よくわからんとして、最後の「「早すぎる最適化は諸悪の根源」という考え方を教育してほしい」ってのは、まぁプログラムから学べる一般的な事象が結構あるっていうひとつのインスタンスかなぁ、と。

そのインスタンス自体は、たぶん費用対効果を考えろ、って話で、このへんの概念は割と義務教育が教えてるような、真っ向から反してるような…ってイメージのあるところだと思う。例えば試験のためだけに英単語覚える必要があるなら、人間の記憶力の構造的に試験の直前にだけ覚えるのが最も効率が良いと思うんだけど、日頃からコツコツ勉強してる人が美談として語られたりするあたり、 mame さんに書く通りまさに学校が反してる感もあるな…

他にあるのは分割統治とかかな。一回で2個所変更すると大変なことになるから、1個所ずついじって試しましょう、みたいなのも。これもまた別にプログラムじゃなくても学べることではある。

プログラム教育に力を入れるべきか、ってのに興味が持てないのは…

まぁだいたい義務教育で教えてることって、実学なようであり別に役に立たないようであり、よくわからんもんが多い、気がする。個人的には実学的な意味合いよりは、もうちょっとメタなレベルの経験値稼ぎの方が重要な気がしてるので、まぁ特定の教科が実学として有用かとかは比較的どうでもいい。ちなみにここで実学ってのは即戦力というかそういう意味で漠然と使ってますたぶん本来の意味からは少しずれてる。

メタなレベルの経験値稼ぎってのは具体的には、数学の問題について考えた時間より、数学の点数を効率よく上げるにはどうすればいいだろうか、と考えた時間の方が役に立つ気がする、っていうような話。

でまーそういうメタなとこってのはイマイチどこから学んでんだかよくわからんし、たぶん人によってきっかけが色々違うんで、何教えてもいいってのはある。

とはいえどうせ教えるなら実際に使うかもしれない知識を教える方が良い感はあるんだけど、それにプログラムが含まれるのかはサッパリわからないので、興味が持てない

(22:22)


2013-06-10

_ コード読むと良い

そういえばそんな偉そうなことも言った気がする。けど別にコード読むのが特別良いとは思ってない。まぁ他の人が僕に比べてコード読まないと感じることは多い。そうそう shi3z さんの最適化の話とかすごいたくさんはてぶとかついてて、 twitter でもたくさんコメントされてたのに、誰もかけ算の回数数え間違ってると指摘してなくて、あの時もいやーホントみんなコード見ないもんだなと感心した。いや、僕も途中とかめんどくさいから最適化された後とされるコードしか見てないけど。

けど僕もそんな四六時中読んでるわけでもなくてもっともりもり読んでる人もいるし、あと読む派の人も色々ある気がする。

読む派の色々は、最初から最後まで全部読んでく人と、おおまかな設計とかを調べるのが好きな人、気になるとこの実装だけ細かく読む人、みたいなのがある気がする。僕は最後の派閥で、おおまかな設計の把握とかはあまり得意じゃなくて、森を見ず木だけ見た的な理解でカンでコード書いてて文句言われることが多い。

だいたいパターンとしては、なんか面白げな話を聞いて、「えっ、そんなことできるの」って思って、「できるとするとこんな感じでやるのかなー」とか妄想してから、その妄想があってるかの答えあわせにコード読むとか、そういうのが多い気がする。んで僕の場合コード>ドキュメント>論文みたいな優先順位で調べるみたいで、コードの優先順位が高い。

コード読んだりするのが新しいことを学ぶ効率がいい方法とはあんまり思えなくて、実際効率悪いと思う。ただ、コード読む速度速いと共同作業に強くなるので、まぁ労働者としての能率は上がるように思う。でまぁ労働者としての能率が高いと面白いことできる可能性が増えていってそれはそれで勉強になるので良いという側面はあると思う。

でも、まぁ普通にネット見たり論文読んだり仕様書読んだり話聞いたり本読んだりの方が学習効率自体は良いケースが多いと思うんで、あまりコード読むのがすごく万人に勧められるかっていうとそうでもない。

そして当たり前だけどやりたいことによるわけで。僕とかは割と広く浅く知ってると嬉しい派なのでざっくりとした理屈がわかるように勉強するけど、まぁなにかコレ一筋みたいなジャンルがある人は論文とか読んだ方がいいんだろうし、とか。

ところで僕はコード読むのが好きなので、もっとコード読む人が増えるに越したことはないので、コード読む楽しさとかを宣伝するといいんだろうけど、なかなか。

(01:54)


2013-06-09

_ C pangram

ちょっと考えたけどそうとうなにもできないな。

なにもしないコードを書けるかですらあやしい。 @#`"' あたりは捨てれるんだろうか。

(10:05)

_ getauxval

auxv を取ってくる関数だけど、この覚えにくさは異常。まぁ普通のユーザコードで取ってきたいことがあるのか知らんけど…

man 見てるとなんでこんな情報渡してんだろってのが結構多いな…ざっとながめてみる

  • AT_BASE: 普通に無いとこまる
  • AT_BASE_PLATFORM: 謎。 glibc は使ってない
  • AT_CLKTCK: 謎。あんまいらない気がするんだけど…
  • AT_DCACHEBSIZE: 謎。 glibc は使ってない
  • AT_*(U|G)ID: LD_PRELOAD 使っていいかの把握で必要
  • AT_ENTRY: 普通にあっていい、というか ehdr がマップされてない可能性考えると必須なのか
  • AT_EXECFD: 謎。 glibc は使ってない
  • AT_EXECFN: 謎。 glibc は使ってない
  • AT_FLAGS: 謎。 glibc は使ってない
  • AT_FPUCW: どうも起動時に FPU モードの値調整使ってる
  • AT_HWCAP: これも CLKTCK みたいな感じでいらない気がするんだけど
  • AT_ICACHEBSIZE: 謎。 glibc は使ってない
  • AT_PAGESZ: あっていい
  • AT_PHDR: 無いと困る、よね
  • AT_PHENT: 無いと決め打ちに
  • AT_PHNUM: 無いと困る
  • AT_PLATFORM: いらなさそうだけど結構使ってるな
  • AT_RANDOM: いらんだろーと思ったら address randomization に使ってる気配
  • AT_SECURE: LD_PRELOAD など
  • AT_SYSINFO: VDSO 置き場らしい、なるほど
  • AT_SYSINFO_EHDR: EHDR て普通先頭にある気がするから別に送る意味はなんなんだろ
  • ATUCACHEBSIZE: 謎。 glibc は使ってない

(14:34)

_ 医者のケンカ

http://www2.ha-channel-88.com/soudann/soudann-00006495.html

なんか意識の高そうな歯医者が言い争ってて面白い。

しかしこのスレッドでは意識が高い医者が「文献を検索してるのですが見つからず…」とか言ってる中、そこらの主婦が「論文見つけました〜」とか現れて、しかし医者は「おお〜」と言う以外に中身の議論をせず、その主婦が「論文訳しました〜」医者「おお〜」みたいな感じで、なんか恥ずかしい記録な気がするんだけど…

あと歯医者は英語の論文なんて一回も読んだことない人がほとんどとか歯医者が言ってて、うーんそんなもんなのかーという。

プログラマもそうだと思うが、資格も無い職業と比べられてる時点でイマイチすぎる感が

(21:08)

_ kaigi

はそういえばだいぶビジネスぽい感じになったのかなぁ。比較的僕みたいな趣味人にはどうでもよさげなのが増えた気がする。まあ単純に ruby とか結構な回数起動するけど、まぁ難しい用途にはあまり使ってないから興味がないというのもある。

並列並行は過渡期というか、まじめに使いはじめてパフォーマンスとか気になり出してきて、なんか並列並行の議論を遅れてやってる感が強い気がする。

あとなんだろ、外人の人でカリスマ見習いみたいな人が結構いるのかな。まぁ開発方法論とか興味が無さすぎるから悪口にしかならないのでやめる

(21:47)

_ kiai

そういえば @nari3 さんに ICFPC とかよく頑張りますね的なこと聞かれた。その場でも答えたんだけど、ああいう時にだいたい僕は最初の1時間でやべー問題読み終わってすらいねーと思ってて、3時間くらいで問題意味わかってすらいねーと思ってて、6時間くらいでやっぱ賢いヤツには勝てんよ、と多かれ少なかれ、思ってて、まぁなんか終わってから感想ブログとかを読むと他の人も同じようなこと思ってたんだなと安心する。

まぁそれでなんである程度の成績がおさめられるかっていうと、諦めが悪いのと暇だってのしか無いと思ってて、まあなんか特別賢いコードを書いてたり、特別高速にコード書いたりはしてないと思う。実際僕が出たほとんどの ICFPC で lightning は本戦よりかなり悪い成績なはずで、まぁちゃんと3日間めげずにやるってのが重要っていう。あとその際に「ほげほげやればいいんだろうけど、できるかわかんないからふがふがでいいや」みたいなのは、間に合うと信じてほげほげをやっちゃった方がいいというのがあると思う。特に疲れてくると、プログラマは動いてる部品の改良が好きだからローカルミニマムに陥りがちで、なんか新しいのをはじめる自信も気力も無くなってくるけど、まぁそのへんごまかしてやってしまえば案外なんとかなる、気がする。

話が微妙にそれた。さてでは暇はどうやって確保しますか、って言われたら所属期間の休みを取るしか無いので、どうやって諦めの悪さを確保するかってのが本題なんだった。

諦めの悪さってのは、訓練できるし積極的に訓練するべきものな気がする。訓練のしかたは、なんか俺でもちょっと諦めずやってたらなんかできた、みたいなのがある気がする。

だいたい今でもなんかこういうプログラム書きたいなーと書き始めると、5割くらいは挫折してるんだけど、プログラム勉強しはじめた頃はもっと失敗率高かったと思う。そういう頃のどうしようもない失敗群でなんかよかったなぁと思ったのは自分が使える程度の window manager ができたくらいか。当時は X の関数ってなんでこんな引数多いんだろうなあ意味がわからないよと思いながら、他の window manager のコードをコピペしたりして動かしてたと思う。 async とか sync とか意味わかってないから、そのへんのパラメータはたいてい他のマネしてるだけだったと思う…

その window manager にしたってたしか4回目くらいでやっとやりたいことができた感じだったと思う。最初は icewm いじって、 twm いじろうとして、 scratch から書こうとして、そんで evilwm ベースにしたと思う。まぁそんなでも、一応自分がやりたかったことができると、案外やればできるんだなー的なことを思って、諦めの悪さが身につく…んじゃないかな…

しかしそんだけあれこれ失敗できたのは暇があったという理由がでかい気がするしあんま意味ない議論だなぁと書いてから思う。だいたいこういう偉そうに俺の場合こうやったらこうなった的な話はなんの役にも立たないと相場が決まっていてですね…

(22:19)


2013-06-05

_ haswell さん

買ったから遊ぼうと思ったんだけど、いろいろまだせっていちゅう。とりあえずなんか静かなのは良い。

とりあえず debian 入れて /home の移動とかして、 apt で欲しそうなもん適当に入れまくった。

苦労したのは dual display の設定。 windows で遊ぶかぎり dual display できるはずなので、頑張れば動くはず…とがんばった。

どう見ても Xorg が haswell を認識してないので、いろいろ新しくする必要ありそうだなーと。ネットで見る限り linux 3.8 以降が必要的なことが書いてあったので、 sid から 3.8 を入れるとドライバがイマイチぽかったので、 sid から 3.9-1 と r8168-dkms というのを入れる。

まだ haswell ちゃんだめぽいので、 xorg も新しくしようと思う。 sid のやつ入れてみた感じだと、まだ haswell という文字が見えないので、しゃーないと experimental 。

結局

sudo apt-get install -t experimental xserver-xorg-video-intel
sudo apt-get install -t experimental libdrm-intel1
sudo apt-get install -t experimental xorg
sudo apt-get install -t experimental gnome
sudo apt-get install -t experimental libgl1-mesa
sudo apt-get install -t experimental libgl1-mesa-glx
sudo apt-get install -t experimental libgl1-mesa-dri

と入れたところで dual display になった。デフォルト教の人に怒られそうなことやってるな…と思いつつも、途中特に起動しなくなったりしなかったあたり、最近の debian さんはよくできてるなあ…とか思う。

自分でコンパイルしないといけないものとして、 sevilwm と w3m インストールした。

~/.Xsession を動かかす方法がよくわからなかったので、

$ cat /usr/share/xsessions/sevilwm.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=sevilwm
Exec=/usr/local/bin/sevilwm
NoDisplay=false
X-GNOME-WMName=sevilwm
# sevilwm doesn't talk XSMP yet, so don't start in the WindowManager phase:
X-GNOME-Autostart-Phase=Applications
X-GNOME-Provides=windowmanager

などと適当に足す。本当は .Xsession 動かして起動時に色々画面設定とかやって欲しいんだけど、まぁとりあえず良いこととする。

そろそろ haswell ちゃん自体で遊びたいけど、眠いし根幹治療とやらをしている歯の奥が痛いので寝る…

(01:54)

_ 痛すぎ

ちょっと笑っちゃうくらいいたいな。ぐぐるのそういうもんらしいが。

もらった鎮痛薬切れたからバファリン飲みまくってるけど、先週は効いてたのに今は少しマシになるくらいのレベルだ…

(04:29)


2013-05-26

_ 誇り

http://bylines.news.yahoo.co.jp/egawashoko/20130525-00025178/

いい話だなぁと思った。特に最後の部分。

(21:23)


2013-05-22

_ ヒッチハイク

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

なんか SF ネタをひくのは年寄りハッカーの基本ぽいからマネしたいけど、なかなか教養がなくてパッと出てこないな、 42 以外。

そもそも 42 以外あんま SF が元ネタのネタとかぱっと思い出せないあたりで難しい。

mostly harmless を見ると引用なのかなぁとか一瞬思ってしまうんだけど、まぁどう考えても普通に使う組み合わせでもある。

あと同じくダグラスアダムスの anything that happens, happens も見たことある気がするけど SF ネタだったんだな…

http://www.quotationspage.com/quote/35360.html

ああちらちら見るのは最近のネタだけど we must go deeper があるか。

ああ resistance is futile

SF やめれば all your base とか Y Y とか、でもあのへんはどっちかというと 2ch 語的な感じだよねたぶん

(05:27)


2013-05-21

_ ラーメン屋

は簡単だって話を聞いた気がしたんだけど、なんか大変そうだ…

https://sites.google.com/site/ramentenshippai/home

(00:49)


2013-05-20


2013-05-18

_ いつき教授

もやしもんのあの教授てどっかで見たことあると思ったら安西先生かーと思ったけど、ああいうパターンのキャラてスラムダンクが最初なんだろうか。なんか他にもいそうだけどどうだろう

(15:51)


2013-05-17

_ Windows Ruby の基礎

http://www.garbagecollect.jp/~usa/d/201305b.html#id20130516_P2

うーんおもしろかった。なんか基本、低レイヤな部分の橋渡しみたいなの好きらしいので。

おつかれさまでした。

(11:51)


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(2013-05-14 13:56) 2.いわさき(2013-05-14 02:15) 3.Egtra(2013-05-13 22:55)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h