t

メモ

Enumerating Unreleased Pull Requests

git

develop ブランチにはマージされたけれど master ブランチにはマージされていないプルリクエストの一覧を出したかった。 $ git fetch origin $ git log --pretty=format:"%s%n%b%x00" origin/master..origin/develop \ | ruby -0ne 'puts "#$1 #$2" if /^Mer…

An Bug of AsyncExecutor of Slick

既にうろ覚えだが Slick 3.3.0 で取り込まれた "critical bug in AsyncExecutor #1856" の修正についてメモしておく。 AsyncExecutor の内部状態がおかしくなるのが #1856 で起きていたことで、これは PrioritizedRunnable が持つ DB への既存の接続を閉じた…

XGBoost4J with OpenMP on macOS

macOS で GCC 7 を使って OpenMP 有効な XGBoost4J 0.7 のビルドをしても、そのままだとテストでこける。以下が問題のようだ。 ロケール こんな感じの落ち方をする。 thread #71, stop reason = signal SIGSTOP frame #0: 0x00007fff57534e3e libsystem_kern…

Jupyter Scala + coursier-s3

Jupyter Scala に coursier-s3 をくっつけてみた。最初は coursier 側 と coursier-s3 側 の両方で URL.setURLStreamHandlerFactory の呼び出しが必要な気がしたが、この場合は後者は不要なようで、結局 jupyter-scala の依存に coursier-s3 を加えるだけで…

GFM to HTML w/ Syntax Highlighting

ディレクトリ内の GitHub Flavored Markdown をシンタックスハイライトしつつ HTML に変換して回りたかった。が、上手い方法が分からなかった。が、次のようにすれば変換できないこともないのでそれで良いことにした。 $ pip install Pygments $ pip install…

Zoo Zoo

ナントカ Zoo ってたくさんあるような気がしたのだけど、いざ並べてみようとしたらあまり見つけられなかった。きっともっとあると思う。

ag-migemo

ag.el を使うにあたり migemo と組み合わせたかったので migemo.el を真似てみた。

test-kitchen + kitchen-docker on Mac OS X (2)

前回とそう変わらないが、Docker 側の変更に追従する必要がある気がした。 といっても Docker の設定は公式ドキュメントの通りなので何も難しくない。test-kitchen や kitchen-docker のインストールも変わったところはない。 $ brew install boot2docker $ …

Interactive Operations with Homebrew

brew cleanup とか brew switch とか brew upgrade とかをインタラクティブに実行できると楽な気がしたので、みっともないワンライナーを書いてみた。 brew.cleanup() { brew info --json=v1 --installed | jq '.[] | select(.installed | has(1)) | select(…

Customizing Appearance of GitX-dev

むしゃくしゃしてやった。見た目を変えられれば何でも良かった。今は反省している。 before: after: 手順: GitX-dev をインストールする peco をインストールする $ curl -fsSL "https://gist.githubusercontent.com/hirofumi/85709f8f8963606f4614/raw/peco…

mark-word for Atom

Emacs の mark-sexp のようなのものが Atom に欲しい、と思ったのですが Atom も CoffeeScript もよく知らないし面倒なので mark-word のようなもので我慢することにしました。 具体的には次のようなスクリプト(2014-08-04: Atom 0.120.0 で動くように修正)…

doc2dash_python-2.7ja

TL;TR - Python 2.7 の日本語ドキュメントを Dash に追加すると便利です $ curl -fsSL "https://gist.github.com/hirofumi/2eee3797ade87a73e1d1/raw/doc2dash_python-2.7ja" | bash せっかくPythonドキュメント日本語翻訳プロジェクトが存在して、しかもそ…

How to Examine Memory Usage of JVM

JVM

JVM の、主にメモリ消費の様子を知りたい。方法をいくつか調べたのでメモしておく。 今のところ次のような使い分けになりそう。 その場で様子を見るなら VisualVM ログを取っておいて後から見るなら GCViewer 何がどのくらいメモリを消費しているか調べるな…

Modest smartparens

最近 smartparens を使い始めたのだけど、開き括弧を書いたときに問答無用で閉じ括弧を挿入されるのはあまり嬉しくなかった。思案した結果、主に行末にいるときだけ挿入を許すことにしてみた。 (defun sp-autoinsert-inhibitedp (current-opening-pair insid…

Incremental Search + Multiple Cursors

「複数カーソル」というものが便利だと教わった。調べてみたところ multiple-cursors.el と smartrep.el を使えば Emacs でも似たようなことができそうだったので、真似をしつつ設定を追加してみた。 まずは isearch-forward した状態から mc/mark-next-like…

First Step of Customizing Magit

主に magit-status, magit-show-level-4, magit-commit を快適に使うべく、いくつかのサイトを参考に設定してみた。 ;; http://d.hatena.ne.jp/syohex/20130904/1378310201 (defadvice magit-status (around magit-fullscreen activate) (window-configurati…

S3 File Resource for Chef

Chef で S3 からファイルをコピーするのに gist:DavidAllison/5288249 を使うと「S3の認証にIAM Roleを使うことができ、各EC2インスタンスにアクセスキーなどを配布する必要がありません」。これは嬉しい、と思ったら使われているメソッドが deprecated にな…

test-kitchen + kitchen-docker on Mac OS X

追記(2014-10-30): 少しだけ手順が変わった 実は簡単に使える状態になっているのではないか。 まず 公式ドキュメントを参考にしつつ Docker の設定をし、さらに test-kitchen や kitchen-docker をインストールする。 $ export DOCKER_HOST=tcp://127.0.0.1:…

Json4s and Enumeration

json4s の EnumSerializer がちょっと使いづらい。何となれば二つの Enumeration を同時に扱えない。 import org.json4s.DefaultFormats import org.json4s.ext.EnumSerializer import org.json4s.native.JsonMethods.parse import org.json4s.native.Serial…

$in MongoDB

MongoDB の $in の実装がどうなっているのかと思ってソースをちょっと覗いてみた。 まず、ライセンスは AGPL 3.0 らしい。 とりあえず Matcher::matches の中で処理をしているに違いない、と当たりをつけてみる。そこには normal non-regex cases があって m…

nscala-time and salat

case class と JSON (や BSON) の相互変換は意外と面倒らしい。 salat は JSON をデシリアライズするとき TypeMatchers というクラスを使って場合分けしているようなのだけど、このあたり に com.github.nscala_time.time.Imports.DateTime が入っていないせ…

I Really Would like to Edit the Buffer

git rebase の後なんかに、実際には変わっていないファイルについてまで "すごいファイル changed on disk; really edit the buffer?" みたいなことを聞かれたくはないのです。

Examples of Query DSL of Casbah

casbah でのクエリの書き方の例を見るにはどこが良いかと考えたけど、テストを見るのが早かった。 casbah-core/src/test/scala/QueryIntegrationSpec.scala casbah-query/src/test/scala/BarewordOperatorsSpec.scala casbah-query/src/test/scala/DSLCoreOp…

Playing with g8-test

giter8 のテンプレートを書いてみようと思ったがそこまで辿り着けなかった。 とりあえず typesafe のものをベースに考えれば良いだろうと思い scala-sbt.g8 を fork してみた。ところが g8-test してみようとしたら UNRESOLVED DEPENDENCIES と怒られてしま…

ScctPlugin in a package

sbt-scct の ScctPlugin が package に入っていないことでちょっと困った。 そこで適当に fork して、Resolver を足したり + resolvers += "sbt-scct-github-repository" at "http://hirofumi.github.io/sbt-scct/maven-repo" ScctPlugin を参照するところに…

オブジェクト体操

Object Calisthenics 自分の環境ではまともに開けない……。ともかく訓練として次のようなルールを守って Java プログラミングしてみると、オブジェクト指向な考え方が身につくよ、という話です。 メソッド内のインデントは一段までにしろ else を使うな プリ…

QuickCheck

気になるけど調べてないものと言えば QuickCheck がある。 Introduction to QuickCheck Introduction to QuickCheck2 QuickCheckでデータ駆動型テストを行う 様々な言語に移植されているらしい。Wikipedia の記事から辿るのが良い? objcheck Objective-C ru…

Dependency Injection in Scala

Scala での DI 手法を知りたい。 どうやら Cake パターン が良く知られているように見える。一方 Effective Scala においては古典的な手法が好まれているようだ。 Scala 云々よりも先に Inversion of Control コンテナと Dependency Injection パターンを読…

Pairwise Testing by QICT

ペアワイズ法の実装に関する資料ってあまり知らない。QICT はソースコードのライセンスが Ms-PL らしいので扱いやすそう。 QICT によるペアワイズテスト QICT-SourceCode.zip

PhantomJS on OS X

OS X 上で次のようなスクリプトを動かすと出力が文字化けした。 var address = "http://UTF-8じゃないコンテンツのURL"; var page = require('webpage').create(); page.open(address, function (status) { console.log(page.plainText); phantom.exit();…