Rubyで呼ばれたメソッドを列挙するやつ作った
この記事を読んで、TracePointで同じことができないかと考えた。TracePointはRuby 2.0からある機能で、Rubyのメソッド呼び出しなどのイベントをフックできる。(昔のset_trace_funcに相当する)
とりあえず動いたのでgithubに置いた。
こういう適当なa.rbがあるとする。
この記事を読んで、TracePointで同じことができないかと考えた。TracePointはRuby 2.0からある機能で、Rubyのメソッド呼び出しなどのイベントをフックできる。(昔のset_trace_funcに相当する)
とりあえず動いたのでgithubに置いた。
こういう適当なa.rbがあるとする。
こんばんわ。今日はWebAssemblyにチャレンジしたいと思います。wasm用のプログラムを書いて、それをブラウザで動かすところまでやります。
まずはWebAssemblyで書かれたプログラムが必要です。拡張子は.wasmです。あいにくこれはバイナリファイルなので手書きするのは難しいです。一般的にはお好みの言語で書いたプログラムをLLVM経由で.wasmに変換するのだと思いますが、今回はWebAssemblyそのものの例としたいので、wasmのテキスト表現を使います。
以下の内容をsquare.watというファイルに保存します。.watというのはwasmのテキスト表現のための拡張子です。ツールによっては.wastという形式を受け付けるものがありますが、これは.watの非公式な上位互換拡張だそうです。
;; square(i32 i) -> i32
記事にカテゴリを付けられるようにした。前からやりたかったものの一つである。ソースはこのへんだけど、ファイル構成の見直しも同時にやったのでこれだけ見てもよく分からないな。
同カテゴリの記事を探しやすくするというのが第一の目的だけど、もう一つの変更点として、日記(カテゴリDiary)を省いたAtomフィードを追加で提供するようにした。これを期にもうちょっと雑多な内容も書くようになるかもしれない。ならないかもしれないけど。
/_config
を新設してそこでやるようにした。Twitterに書いたけど、disabled="disabled"
を付けることで削除ボタンの誤操作を回避している。コスパがよい(実装コストが低くて効果が大きい)ので好きなハック。LLVMを使った自作言語に例外を入れることを考えてた。結論からいうとCrystalのソースを真似するのでよさそう。
_Unwind_RaiseException
__cxa_throw
→ libunwind → _Unwind_RaiseException
_Unwind_RaiseException
等の仕様はここ。http://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
「Itanium C++ ABI」という名前ではあるけれど、Level I, II, IIIのうちのLevel I部分(_Unwind_RaiseException
等)はC++に限らない言語独立なAPIになっている。__cxa_throw
はLevel IIで、C++用のもの(であるけれど、場合によってはこれが使えることもあるかも)。
久しぶりにS+になった。前はヤグラノヴァだったけど今回はバケデコのガチエリア(モズク・マサバ)。元気なときに集中してやればS+上がれるのではないか、とは前々から思ってたんだけど、実際にできることがわかって良かった。
普段は仕事終わって夕飯食べてお腹いっぱいな状態でやってたりするのでS30〜S70くらいで推移してる。一度S+に上がれてからは、強くなるというよりはいろんな武器を触って楽しんでいる状況。最近はエイムが良くなってきて、L3リールガンが扱えるようになってきた。最初触ったときはこんなん絶対無理だと思ってたのでちょっと嬉しい。
表大山まで滑りに行ってきた。今季はこれでおしまい。
松江に住んでいると大山が近くて、冬場はほぼ毎週スノボに出かけている。数えてみると今季は9回行けたらしい。会社の人と一緒に行くんだけど、今季は社外の人とも一緒に行ったりした。
今季は雪の降り始めが遅くてどうなることかと思ったけど、1月と2月に大量に降った日が一度ずつあり、3月入ってからも降ったりしたので、それなりに長く滑れるシーズンになって良かった。
今年は試乗会で板を予約したので、来季は新しい板になる。試乗会ってその場で板を買えるのかと思ってたんだけど、そうではなくて、この夏に製作するモデル(つまり17-18モデル)のサンプルが試乗できて、気に入ったら予約すると9月くらいに手に入るということだった。とても楽しみ。
今使っている板は新古品を2万で買ったやつで、スノボショップに持っていたら保存状態が悪くて変な風に反っていると言われて、一応滑れるようにエッジを調整してもらったという経緯がある。気づいたら6年これに乗っていたらしい。後悔はしてないけど、もう少し早く買い替えても良かったかなという気はする。新しい板、試乗してみて、めちゃめちゃ乗りやすいと思ったからね。
先月のエントリでEsquisというプログラミング言語を作っていると書いたが、あれからいろいろ機能を足して、レイトレーシングのプログラムが動くようになった。
https://github.com/yhara/esquis/releases/tag/v0.0.1
百均でミルクフォーマー買った。150円だった。ミルクフォーマーはスタバの店舗で売ってるのを見たことあるけど、2000円以上してたので、百均にあると聞いてびっくりした。
作りがちゃっちくて、グリコのおまけ感ある。とりあえず使う前に洗おうと思ったが、本体は防水じゃないので、棒の部分だけ取り外す必要があるんだけど、これがまためちゃめちゃ固い。しかし隙間にスプーンの柄を突っ込んだりして頑張ってるうちになんとか取り外すことに成功。その後は常識の範囲内の硬さになった。
使い方だけど、カップに牛乳を入れて、こいつを突っ込んでスイッチを入れるとモーターがすごい勢いで回転し、牛乳に空気が入るという寸法。液体全体が泡になるのではなく、上部に泡が発生するという感じ。牛乳はホットでもアイスでもよい。
成果物としてどういうものが得られるのかよく分かってなかったんだけど、要するにお店のカプチーノとかの上に乗ってる泡状のやつ、あれが手に入ります。150円にしては意外なほどふわふわになる。なんとなく専用の機械とかでやってるのかなぁと思ってたけどこんな単純な機構で再現できるのか。
ということであとは発生させた泡をどのように活用するかという話になるが、スタバのサイトによると泡立った牛乳の上からコーヒーを注ぐということらしい。なるほど。
野菜を買いすぎたので、夕食の野菜炒めを多めに作って、半分を翌日の弁当にしてみた。普段は会社に来られるお弁当屋さんの弁当を買ってて、それと比べるとボリュームも彩りもないけど、意外とこれで良いじゃんっていう感じだった。コンビニが近いので味噌汁だけカップのを買うとかもできるし。一人暮らしだとどの野菜を買ってもたいてい大きすぎるので、こうやって消費先が増えるのは良い。
弁当を作ること自体は興味がありつつ手を付けてなかったんだけど、最近ちょうどいい大きさのランチボックスを見かけて、とりあえず買うだけ買っておいたのが役に立った。(市販の弁当箱はたくさんあるんだけど、米は冷凍して持っていくので、おかずだけ入れるやつが欲しかったのだった) 二段になってるので、慣れてきたら二段目を冷凍食品で埋めたりするのもいいかも。