Boost.勉強会 #8 大阪 で喋ってきました +新見観光のおまけつき

移動記録

2/10

住居探しのために前日入り。

2/12

徒歩移動のみ。

  • 1100- 本編
  • 1800- 懇親会
2/12

新見市縄文土器展のついでに鍾乳洞めぐり。

  • 745- 大阪→姫路
  • 909- 姫路→岡山
  • 1005- 岡山→新見
  • 1110- 新見でレンタカー借りる
  • 1150- 井倉洞
  • 1300- 蕎麦屋
  • 1410- 満奇洞
  • 1530- 猪風来美術館
  • 1630- 近くで取れたイノシシを焼いて食べる簡単なおしごと
  • 1830- 撤収
  • 1910- 新見でレンタカー返却
  • 2007- 新見→出雲市
2/13

エクストリーム帰宅

前夜祭

@hotwatermorning先生が前入りして某社を見学するということで到着に合わせて襲撃。そのまま@akineko先生,@decimalbloat先生,@fadis_先生,@aizen76先生、@kyubuns先生と一緒に深夜まで騒いでました。

本編

背景その他

「ネタの指定があれば喋ります」といって参加表明してたら「GCCでなんか」というよくわからない指定をされたので、だいぶ苦し紛れにWindows+GCC(=Mingw)でSEHを使ってみるというネタを絞り出しました。 当初は50分喋らないといけない予定だったのが、どうにもボリューム増えなくて30分に縮めてもらったのが、スケジュールの遅延を相殺して結果的にはまあよかったのかなと。 ただ、絞り出せないとはいっても、一応前日までに一通り資料は完成して一回流して喋ってもいるので、やれるだけのことはちゃんとやってあるつもりです。

Boost.勉強会は割と人数が多くて聴衆のレベルを想定するのが難しいので、技術背景をどこまで説明するかがいつも悩みどころです。 今回はまあx86アセンブリくらいなら雰囲気で読めるだろうと思っていたら、アセンブリが出てきた瞬間に諦めた人も何人かいたようで、もう少し補足説明するべきだったかなと。 ただ、解らん時は「説明してくれ」ってその場で言ってもらえば最低限の解説はすぐに出来るので、あとでブログで「ついていけなかったです」とか言ってないでちゃんと質問してほしいです。

内容

Operaで大量に開いていたタブはほとんどが今回のネタのリソースです。(覚えてたら)後でまとめてURI出します。
発表資料はこのへん
終了後、「Cygwinではどうなるの」と質問されましたが、Cygwinも同じやり方で動くはずです。ただし、cygwin1.dllはSEHをトラップしてSIGNALに変換しているので、その辺の挙動はだいぶ怪しくなると思います。
発表中質問のあった_set_se_translatorについては、これは単に常に一番先端の例外ハンドラからebp切り替えてthrowすればいいだけなので非常に簡単です。
ダブルフォルト等の備えに関しては、巻き戻し先探索中はシステムの例外ハンドラが[fs:0]に登録されているのでそっちでトラップされます。巻き戻し中は自分でどうにかしないといけないですが、単にabort()しても全く追跡できないのでどうすべきかはよくわかりません。
実装自体は一応それなりに動くはずですが、コーナーケースをつついたテストは出来ていないのと、DLLを通過させるとどうなるかもテストできていないので、まだネタの域を出ていません。本気で使いたい奇特な人が居たら連絡ください。
C++は黒魔術の無い素敵な言語です。

参考文献

発表時に開いていたページを列挙しただけ。

懇親会

戦果:

  • めるぽんに少しだけ野菜を食わせた
  • めるぽんに少しだけ野菜を食わせた
  • めるぽんに少しだけ野菜を食わせた

新見観光

鍾乳洞(井倉洞、満奇洞)
  • 大都会の大自然やばい
  • でもなんか寂れてる
  • 探検料高い…
猪風来美術館
  • 満奇洞-方谷駅-美術館の道が狭くて死ぬかと思った(ペーパードライバーです)
  • !!!芸術だぞ!!!
  • 穴窯が思ったよりずっとでかい
  • 土器であんなに精巧な細工ができるとは思ってなかった
  • うまい肉いっぱい食わせて頂きました

発表翌日のバタバタの中準備対応していただいた@bolero_MURAKAMI先生、正体不明の集団に快く応対してくださった猪風来先生と奥様、ありがとうございました。

-

C++は黒魔術の無い素敵な言語です。