憂鬱な午後のひととき

3月29日_

第7期サイボウズ・ラボユース成果発表会

みなさんプレゼンうまいな.

3月18日_

『Newton 2018年1月号』

「宇宙で惑星はどう生まれるのか?」先日読んだ『系外惑星と太陽系』を補完する感じでよかった.

3月17日_

眠い

朝起きてご飯食べてまた寝る. 何度も寝てしまう.

3月16日_

BLS12ペアリング

ナイーブなmapToGi関数の実装など.

3月15日_

Re: gccの無限ループ

GCC Bugzillaに報告してみた. wrong exception handling of std::function

gcc 7.3でも再現した模様.

3月14日_

gccでstd::functionの例外をキャッチしたら無限ループ

例外を投げる関数が入ってるstd::functionをtry..catchの中で呼び出したら無限ループした. gcc(5.4, 7.2で再現)のバグかなあ. clang, VCでは発生しない.

#include <stdio.h>
#include <functional>
#include <stdexcept>

void f() noexcept
{
    puts("f");
}

void g()
{
    puts("g");
    throw std::runtime_error("err");
}

int main()
{
    std::function<void()> a = f;
    a(); // ***
    try{
        a();
    } catch (...) {
    }
    std::function<void()> b = g;
    try {
        b();
    } catch (...) {
    }
}
// g++ t.cpp -O2 -std=c++11 && ./a.outで無限に"g"を出力する

以下所感
***の関数呼び出しを消すとruntime_errorをcatchせずにabortした.
gcc-7で-std=c++17だと正常に動作した.
std::function<void()noexcept> a = f;とするとC++14までは無視されてC++17ではエラーになった.
C++17からはnoexceptも型の一部になるけど std::functionは受け付けないんだ. そうなんだっけか.

3月10日_

『限界点』(ジェフリー ディーヴァー著 土屋晃訳)

久しぶりの翻訳物のサスペンス. 出だしで引き込まれたけどどうにも長くて何度も挫折した. 他のも読んでみようかな.

3月9日_

未踏ナイト2018

すごい発表だなあと感心ばかり. LTして, デモというのは動画にしておかないとうまくしゃべれないのだな. あまりに今更だけどようやく分かった.

3月8日_

wasm

ちょっと放置していたら最新版emccでbuildするとRuntime.allockStackなどが無いと言われた. 無くなったのかな. 調べるの面倒だし_malloc()/_free()に置き換える.

それよりもwasmのMIME型チェックが厳しくなったのか微妙にいろいろエラー. 本質でないところで時間食われるなあ.

4バイトしか使わないheap領域に_malloc(8)してたら値がおかしい. _malloc(24)まで増やしたら動くようになった. 何だろう. 落ち着いたらちゃんと調べる.

3月5日_

実装

こちらも長いこと時間がかかったけど, ようやく一山越えた. これからリファクタリングと細かい最適化.

やることはまだまだたくさんあるけど精神的に区切りをつけられる.

3月4日_

L2準同型

一つうれしい通達. 一安心.

3月1日_

『系外惑星と太陽系』(井田茂)

系外惑星というのは太陽以外の恒星のまわりを回ってる惑星のこと. 1995年に木星ぐらいの惑星が見つかってから大量に見つかるようになったらしい(一度見つかると, 実はあれもこれもそうだったという感じ).

極端に楕円軌道を描いたり, 恒星にとても近いところで高速に回る大きな惑星など今まで想像してなかった種類がたくさん見つかって今まで太陽系だけをもとに作られていた理論がことごとく合わなくなったそうな.

小学生の図鑑などでガスがグルグル回って集まって太陽系が出来たという説明があるけど, それを詳しくシミュレーションするとうまくいかないらしい. あれも分からない, これも分からないというのがずっと紹介されていてとても面白い.

月ができた理由も, 原始惑星が地球にぶつかってできた破片が集まってできたという巨大衝突説があったのを, 著者らがそれを否定しようとシミュレーションしたら逆にできることが分かったという. じゃあそれが正解かというと月の岩石と地球の物質の解析をしたら同一の成分と判明してシミュレーション結果と矛盾して困ってるとか.


御意見は光成滋生<herumi@nifty.com>までお願いします