トップ «前の日記(2014-04-17) 最新 次の日記(2014-04-25)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2014-04-20

_ 大江戸Ruby会議04

土曜日は大江戸Ruby会議04で、両国。

特に印象的だったのが、3セッション。いずれもファーストコンタクトではないけれど、境界を越えることについてのセッション。

レオによる、外国人が日本で仕事を得て、生活を続けるためには、というセッション。続けるが強調点で、本当の題はなんだっけかな? persistentじゃないし。

レオに最初に会ったのは、確か、千代田区の学術会館でのRuby会議だったと思うのだが、そう考えるとずいぶん長いことになる。

オーストラリア人のレオが日本に来て、日本語を習得するまでで、DoとDo Notにうまくまとめていて、実は一番重要なことは他の何ものでもなく本人のスマートさだよなぁとか考えてしまうのだけれど、それはそれとして

・言語習得について

カルチャーを知る

たとえば、2チャンネルを読む

わけわからないコラ(というか、吹き出しのセリフ変えを何ていうんだっけ?)を見て(と、例としてジョジョが出てくる)、とにかく、この言語の話者かつ自分に関連するクラスターがそれを楽しんでいるのだから、それについて知る必要がある→ジョジョ全巻読破(ちなみに、まだの人は2部以降をお勧めとか)

英語について逆をやるのであれば、まずreddit。特にIAMA(違ったかな。有名板として紹介されただけかも)、ELI5。

次が西村さん。英語でらくらくとインタビューできるようになるために、30にして一念発起してサンフランシスコに留学して、イギリス時代のレーニンのように毎日図書館に通って英文法を勉強しまくった。レーニンは大英博物館だけど。ちなみに、その時点でTOEICは900点だったけど、全然お話にならないと実感していた。

最悪でも20000語は単語が必要だから、一日に10語覚えるとして2000日、5年は毎日勉強しなければものになるはずがないのだから、まじめに勉強しましょう。

日本人は英語を勉強している時間は長いがものにならないというけれど、だらだら少しずつ学校で勉強しているだけでは短すぎて使い物にならないというだけ。

なんか、集中せずに、9時から23時まで仕事をしているってのと同じことのようだな。

全然、そういうことは言ってなかったけど、そういう内容。

そして青木さん。並列RDBなんて1980年代からあるんだけど。エンタープライズとオープンな世界にはやはり情報、技術、基盤の違いがある。

おれは両方見られて、回り道のようだったけど、まあ良かったかな、という話だと受け取った。

技術ネタでは、mputさんの、まじめなJSON実装(RFC7159)の話が印象的。RFC7159をまじめに実装してみて、既存の実装の挙動と比べてみる。

で、おそらく上記の一番の成果物は、ヴァリッド、インヴァリッドのテストケースなのでみんな利用してね、ということなのかな。

完全に名前を忘れてしまったけど、Bundlerの人のセッション。なんか最後のほうでえらくこれは良いと思ったのがあったのだが、まったく忘れてしまった。なんだろう? 小さくなる系(もあった)のやつとは別の話だった。

ザックの中田さん伝説。育てのネコが途中で樹海へ一人寂しく帰るところで思わず涙ぐむ。だが中田さんはドライにビールを飲みながらロズウェル状態で両脇を科学者の両親に固められて栃木へ行ってしまう。

追記)どうも、自然な感覚としてファーストネームとラストネームで書き方に差がある。しょうへいのセッションと、うらべさんのセッションはおれの中では敬意等価だ。レオによる、と、チンさんによる、も等価だ。しかし、ザックとmputだとおそらく違う。多分、mputというのは識別子なのでmputさんが自然で、ザックはファーストネームのうちなのでザックが自然なのだろう。で、非日本名だとファーストネームとなり、日本名だと苗字となる。良くわからん。

_ win32x64でのメモリアサイン

ふと、akrさんからWindowsでは4GBしかメモリをアサインできないと言われたのを思い出して試してみた。

が、61Gまでいけるんだが。RubyのString実装に限定した話なのかな?

それともコードが間違ってるのかなぁ。

#include 
#include 
int main(int argc, char* argv[]) {
    const _int64 giga = 1024i64 * 1024i64 * 1024i64;
    size_t i;
    for (i = giga;; i += giga) {
        char* p = (char*)malloc(i);
        printf("%I64d = %p\n", i / giga, p);
        if (!p) break;
        free(p);
    }
    return 0;
}
結果は
c:\Users\arton\Documents\test>test
1 = 000000000136A040
2 = 000000007FFF8040
3 = 000000007FFFD040
4 = 000000007FFF7040
5 = 000000007FFFC040
6 = 000000007FFF4040
7 = 000000007FFFA040
8 = 000000007FFF3040
9 = 000000007FFF8040
10 = 000000007FFF4040
11 = 000000007FFF1040
12 = 000000007FFF1040
13 = 000000007FFF8040
14 = 000000007FFF2040
15 = 000000007FFFB040
16 = 000000007FFF3040
17 = 000000007FFFD040
18 = 000000007FFF6040
19 = 000000007FFF0040
...(略)
55 = 000000007FFF5040
56 = 000000007FFF2040
57 = 000000007FFFB040
58 = 000000007FFF2040
59 = 000000007FFFB040
60 = 000000007FFF3040
61 = 000000007FFF4040
62 = 0000000000000000

なんか微妙にポインタがずれるのが不思議なような興味深いような。


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

ジェズイットを見習え