yhara.jp

Recent Posts

スプラ日記

2017-04-03
Diary

久しぶりにS+になった。前はヤグラノヴァだったけど今回はバケデコのガチエリア(モズク・マサバ)。元気なときに集中してやればS+上がれるのではないか、とは前々から思ってたんだけど、実際にできることがわかって良かった。

普段は仕事終わって夕飯食べてお腹いっぱいな状態でやってたりするのでS30〜S70くらいで推移してる。一度S+に上がれてからは、強くなるというよりはいろんな武器を触って楽しんでいる状況。最近はエイムが良くなってきて、L3リールガンが扱えるようになってきた。最初触ったときはこんなん絶対無理だと思ってたのでちょっと嬉しい。


スノボ納め 16-17

2017-03-26
Diary

表大山まで滑りに行ってきた。今季はこれでおしまい。

http://www.daisen-resort.jp/

松江に住んでいると大山が近くて、冬場はほぼ毎週スノボに出かけている。数えてみると今季は9回行けたらしい。会社の人と一緒に行くんだけど、今季は社外の人とも一緒に行ったりした

今季は雪の降り始めが遅くてどうなることかと思ったけど、1月と2月に大量に降った日が一度ずつあり、3月入ってからも降ったりしたので、それなりに長く滑れるシーズンになって良かった。

今年は試乗会で板を予約したので、来季は新しい板になる。試乗会ってその場で板を買えるのかと思ってたんだけど、そうではなくて、この夏に製作するモデル(つまり17-18モデル)のサンプルが試乗できて、気に入ったら予約すると9月くらいに手に入るということだった。とても楽しみ。

今使っている板は新古品を2万で買ったやつで、スノボショップに持っていたら保存状態が悪くて変な風に反っていると言われて、一応滑れるようにエッジを調整してもらったという経緯がある。気づいたら6年これに乗っていたらしい。後悔はしてないけど、もう少し早く買い替えても良かったかなという気はする。新しい板、試乗してみて、めちゃめちゃ乗りやすいと思ったからね。



牛乳を泡立てるやつ買った

2017-03-05
Food

百均でミルクフォーマー買った。150円だった。ミルクフォーマーはスタバの店舗で売ってるのを見たことあるけど、2000円以上してたので、百均にあると聞いてびっくりした。

商品の写真

作りがちゃっちくて、グリコのおまけ感ある。とりあえず使う前に洗おうと思ったが、本体は防水じゃないので、棒の部分だけ取り外す必要があるんだけど、これがまためちゃめちゃ固い。しかし隙間にスプーンの柄を突っ込んだりして頑張ってるうちになんとか取り外すことに成功。その後は常識の範囲内の硬さになった。

使い方だけど、カップに牛乳を入れて、こいつを突っ込んでスイッチを入れるとモーターがすごい勢いで回転し、牛乳に空気が入るという寸法。液体全体が泡になるのではなく、上部に泡が発生するという感じ。牛乳はホットでもアイスでもよい。

成果物としてどういうものが得られるのかよく分かってなかったんだけど、要するにお店のカプチーノとかの上に乗ってる泡状のやつ、あれが手に入ります。150円にしては意外なほどふわふわになる。なんとなく専用の機械とかでやってるのかなぁと思ってたけどこんな単純な機構で再現できるのか。

ということであとは発生させた泡をどのように活用するかという話になるが、スタバのサイトによると泡立った牛乳の上からコーヒーを注ぐということらしい。なるほど。


弁当はじめました

2017-03-05
Food

野菜を買いすぎたので、夕食の野菜炒めを多めに作って、半分を翌日の弁当にしてみた。普段は会社に来られるお弁当屋さんの弁当を買ってて、それと比べるとボリュームも彩りもないけど、意外とこれで良いじゃんっていう感じだった。コンビニが近いので味噌汁だけカップのを買うとかもできるし。一人暮らしだとどの野菜を買ってもたいてい大きすぎるので、こうやって消費先が増えるのは良い。

弁当を作ること自体は興味がありつつ手を付けてなかったんだけど、最近ちょうどいい大きさのランチボックスを見かけて、とりあえず買うだけ買っておいたのが役に立った。(市販の弁当箱はたくさんあるんだけど、米は冷凍して持っていくので、おかずだけ入れるやつが欲しかったのだった) 二段になってるので、慣れてきたら二段目を冷凍食品で埋めたりするのもいいかも。


CapybaraでSinatraアプリをテストする

2017-02-28
Tech

このブログはSinatraで作っていて、テストはRack::Testで書いてたのだけど、思い立ってCapybaraで書き直した

Rack::Test vs Capybara?

というのはある種のバグがRack::Testだと漏れちゃうんですよね。例えばフォームをsubmitしたときにビューのtypoで正しいリクエストが飛ばない、みたいなやつ。Rack::TestだとこういうPOSTリクエストに対しこういう挙動をする、は書けるんだけど、ボタンを押したときにどういうPOSTが飛ぶか、はCapybaraでないと書けない。

もっと規模が大きければRack::Testでコントローラのテストを書いて、Capybaraでintegraiton testを書いて…みたいな構成もあり得るけど、このブログの場合は規模が小さいのでCapybaraによるE2Eテストだけあれば良いかなと思う。

以下、Rack::Testから移行するに当たって「これどうするんだろ?」ってなったことをメモしておく。

(more...)

Rubyでレイトレーシングした

2017-02-21
Tech

生成された画像

これをRubyに移植した。aobenchが自作言語のターゲットとしてまだちょっと大きいなと思ってより小さいサンプルを探していたのだけど、最後のステップまで移植したら結局aobenchとあんまり変わらないようなものになった。ただaobenchのコードはちゃんと理解していなかったので、少し理解が深まった気がして面白かった。あと画像が出るプログラムはやっぱり楽しい。

ソースはgistに上げた。ray5.rbまであり、それぞれ以下のようになっている。

  1. 画像を生成する
  2. 球を出す
  3. 陰影を付ける
  4. 床を出す
  5. 反射させる

上に貼ったのはray5.rbの出力結果だ。よく見ると元記事と微妙に球の位置が違うことが分かるが、オリジナルは時間tを受け取ってアニメーションするようになっていて、tの値が違うのが原因と思われる(最初、アルゴリズム部分に間違いがあるのかと思って焦った)。


printfだけで画像を生成する(.ppm)

2017-02-21
Tech

自作のプログラムで画像を出力したいとき、どのフォーマットを選ぶのが良いだろうか。PNGやJPGなどは広く普及したフォーマットだが、マイナーな言語や自作のプログラミング言語の場合、出力するためのライブラリが存在しない場合がある。

そんなときに役立つのが、aobenchでも使われているPPMという画像フォーマットだ。PPMは仕様が極めてシンプルなので、例えばprintfが使えれば出力することができる。

以下はppmファイルの例である(上記ページから拝借)。

P3
3 2
255
(more...)

オブジェクト指向言語をLLVM IRにコンパイルするには

2017-02-07
Tech

昨年から、Esquisという言語を作っている。Rubyっぽい文法の静的型付け言語になる予定で、実行はLLVM IRを経由して行う。

ということで、(クラスベースの)オブジェクト指向言語をLLVM IRで表現する方法について考えていたので、分かったことをまとめておく。既存の実装としては主にCrystalの生成するLLVM IRを参考にした。

オブジェクトをstructに対応させる

LLVMにはstruct型というものがあり、オブジェクトはこれで表現することができる。問題はどのようなstruct型を定義するかだ。

最初に考えたのは、EsObjという型を作って、すべてのオブジェクトを表現するという方法だ。

(more...)

syntax-rules進捗

2017-02-06
Tech

去年の夏頃から、BiwaSchemeにsyntax-rulesを入れようと思ってぼちぼち調べてたんだけど、どうもこれは本腰入れて調べないと進捗しないなということで、年末からいろいろ文献を読むなどしていた。

その成果がこちら。

swapマクロを展開させてみたところ

orrというマクロを素朴に展開すると、マクロ内で使っているtという変数名が呼び出し側で定義しているtと衝突してしまう。これを自動でt.0とt.1にリネームしている、という図。

ソースコードはブランチにpushしてある。まだhygenic macroに対応したエクスパンダが本体とは独立に存在するという状態で、最終的にはこれで本体のエクスパンダ(Biwascheme.Interpreter.expand)を置き換えるということになる。

(more...)

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author