2016-11-23
Tech Though LLVM itself does not have a GC algorithm, it is not so difficult to use existing GC library, especially conservatice GCs like Boehm GC .
Link Boehm GC
Call GC_malloc instead of malloc
Prerequisites
LLVM (eg. brew install llvm
)
Boehm GC (eg. brew install boehmgc
)
2016-11-22
Tech
ということでいろいろ考えた のだけど、とりあえずboehm gcをちょっと触ってみることにした。
Boehm GC
Macだとbrew install boehmgcで入る。
とりあえず最小のサンプル。GC_MALLOCというのがBoehm GC版のmallocで、メモリ確保にはこれを使うことになる。GCを開始するというAPIを呼んでいないけど、GC_MALLOC時に適宜呼ばれるようだ。
2016-11-17
Tech 今さらだけど「近&況」というタイトルについて。わりあい適当に付けた。今夏にブログを作り始めたときに仮のものとしてh1タグに「近況」と書いていて、公開後もしばらくそのままになってたのだけど、このブログは英語記事もいっしょくたに書くので、タイトルだけ日本語だと英語圏の人から見て変な感じになる可能性がある。ということで近と況の間に記号を入れることでこう、ロゴタイプっぽくならないかなと思ったのだった。&自体は最&高 から拝借した。久しぶりにPON PON PONのPV見たけど1億再生超えててやばい。
VIDEO
2016-11-17
Tech 今年もアドベントカレンダーの季節がやってきました。Rubyのカレンダーが埋まるのが遅くてあれっ?と思ったのですが、よく考えると近年ではひとくちにRubyと言ってもいろいろなトピックがあり、それぞれの話題別のカレンダーが立っているようです。ということで、Rubyに関係ありそうなカレンダーをまとめてみました。
Rubyそのものについてのカレンダーです。
Railsについてのカレンダーです。もう一個立ってる のでそちらにも記事が上がるかも…?
2016-11-08
Tech http://yhara.jp/ReadingFoment
一月経ったので続きを。前回はCompileSyntaxRules, ExpandSyntaxRulesのシグネチャを調べたのだった。
CompileSyntaxRules(FSyntacticEnv se, expr) -> FSyntaxRules
ExpandSyntaxRules(FSyntacticEnv se, FSyntaxRules sr, expr) -> expr
次は何をすれば良いかなぁ。
2016-10-26
Tech This blog is implemented with sinatra-activerecord and deployed with Capistrano 3.
Today I needed to add some modification to the DB schema, then I found that DB migration does not works well when I do cap production deploy
.
Reason
sinatra-activerecord provides a rake task to run DB migration like rake db:migrate RACK_ENV=production
. Note that the envvar is RACK_ENV, not RAILS_ENV. This does make sense because it is not a gem for Rails. However, you cannot run migration with capistrano-rails by this reason.
Solution
So here is my new settings in the config/deploy.rb
. This is mostly the same as what capistrano/rails/migrations does, except the envvar is rack_env
.
2016-10-26
Tech Postモデルにpermanentフラグというのを付けた 。このフラグが立っていると、URLに日付が入らなくなる。例えば以下。
旧サイトの/w/ に置いていたようなものに使う予定。/w/はブログとは別に雑多な記事を置いておくための場所で、最初はHikiというWikiエンジンを使っていたのだけど、そのあと別に他人でも編集できる必要はないなと思ってmiddlemanという静的ページジェネレータに移行した。その結果、自分はブラウザから編集できないと記事を書かなくなるという事実が判明した。
そういうわけで「ブログを作る」といいつつ、CMS的な機能も付けたいと思っていたのだった。
このあとはブログを2カラムレイアウトにして、サイドバーに上記ページへのリンクを入れたい。
2016-10-25
Tech Rouge is a syntax highlighting library for Ruby. I've added syntax highlight to this blog, so here's how.
Install
Add gem "rouge"
to your Gemfile.
2016-10-25
Tech ということで3章から読んでいきます。URL等は第一回 を参照してください。
3. FEATHERWEIGHT GJ
FGJのサンプルプログラムがあります。コメントを足しつつ転記します。
// 2つのオブジェクトの組
class Pair < X extends Object , Y extends Object > extends Object {
X fst ; // フィールド定義
2016-10-24
Tech 新シリーズです。FJ (Featherweight Java)の論文のFGJのところを読んでいきます。
将来的にジェネリクスがある静的型言語を自作したいという目標があるのでその準備です。
FJとは
型理論の研究のために考案された、Javaの「とても小さい」サブセットです。
論文はこちら。