Favorite Beer House 2019

2019-12-31 23:59:59 +0900

年末になったので今年行ったビール屋さんをまとめてみます。

Spot

2017年と比較して倍くらい行ってますね…

行ってよかった店

はじめに2017年に行ってなくて新しい店でよかた店をあげてみたいとです。

  • PDX Taproom ここはオレゴンのクラフトビールを中心に生で飲めます。海外のビールが多くおもしろいです。
  • Golden Gate ここも名前のとおり、海外のビールが中心です。つながっているのは 4 tap ですがよいです。駅近でハンバーガーが夜おそくても食べれるので便利。 いちおう朝2畤までやってるけど、大人数で行けばもっと遅くまでやってくれる感じでもある。 いつもすくないのでみんないって
  • Granzoo ここはビールの醸造所(Kanpai Brewing)が併設されてるタイプの店でビールが美味しいです。神田川目の前で桜の時期とてもよさそう。まだ出来たばかりなので桜の時期は行けてないです。
  • Miyatabeer ここも Granzoo と同様に醸造所が併設されている店です。ビール以外にもブランデーやシードルが置いてあるのでビールが苦手な人でもイケますね。
  • Bewin’ Bar 主水 ここもブリュパブ(醸造所が併設されているパブ)です。もともとはここのInstagramをフォローしてて気にはなっていましたが、なかなか行ける機会がなかったのですが、2018年に初めていけてからすごくよかったです。 食事がたいへんよく、普通の居酒屋メニューにアレンジが加えられたタンドリー鯖が気に入ってます。
  • さかずき Brewing ここもブリュパブです。行ったときにはお腹いっぱいだったので…

いつもどおり安心できるお店

  • Good Sleep Baker いつもパンがおいしい。バインミーが好き。
  • Popeye 老舗。タップが多くてすごい。あとエミューが食べられるのはここだけ(たぶん)
  • 萬感 ここもポパイほどではないが、クラフトビール出してくれる店として老舗。店員さんがボウズから金髪になってた。Minou の W山椒IPA がいつも置いてあって便利。

今年いってないけど、なくなったお店

  • 蔵くら 鳥のたたきとかおいしかった。
  • Beer Bar 富士桜 とある会合のあとでよくいってて、ソーセージとかおいしかった。

まとめ

今年行ったビールをまとめてみましたが、今年はあまりビールのんでないなーとおもってたら40軒ぐらい行ってた。 来年は日本酒まとめますね。

RubyKaigi 2019

2019-04-27 19:53:31 +0900

RubyKaigi2019 があったので行ってきました。 既に様々な人 が書いていますのでここでは気になった、よかったというセッションについて書きます。 聴講選択基準としてよく asakusa.rb に来ているひとは外すことにしました。

0日目

前日入りしましたのでプレパーティ前に 秒速さん と福岡のイカを食べに 第三共進丸 へ行ってイカとゴマサバを食べました。

今回の RubyKaigi では 複数プレパーティ があり、 プレパーティGMO Pepabo一風堂スタンド に行きました。 ここで LT が3件あり、福岡市役所、ペパボ、Yuguiさん が話してくれました。 特に福岡市役所の方が直々に来て如何に自治体が本気を出して企業誘致をするか、しているかを話してくれていました。 Yugui さんの LT は地図の話するということでしたので、地図をどう見せるかの話をしてくれました。

1日目

初日に見たリストは以下になります。

  1. matz キーノート
  2. Ruby3 Progress
  3. How to take over a Ruby gem
  4. Determing Ruby Process Counts: Theory and Practice
  5. Compiling Ruby to idimomatic code in static language
  6. Fiber Are the Right Solution
  7. Compacting GC for MRI v2

このなかで期待したのが Compling Ruby to idimomatic code in static language でした。 こちらは基本 Ruby のコードを Nim へ変換するためにやったことをはなししていました。 Fiber のやつは非同期すると速くなるかもねって感じでおわらせています。 Aaron は Aaron だなーとおもいながら聴いていました。

後で聞いて失敗したなってやつが、 Matz と Ruby3 progress の間にトイレをガマンしてたので走ってトイレに行ってたら、 福岡県知事が出てきて RubyKaigi めっちゃ楽しみにしてたっていう話をされていたというのを 聴き逃がしたのがかなりの後悔点です。

2日目

  1. All bugfix are incompatibilities
  2. Pratical mruby/c firmware development with CRuby
  3. RubyData Workshop
  4. A light weight JIT compiler project for CRuby
  5. What is Domain Specific Language?
  6. LT

この日一番の衝撃的なできごととしては RubyData Workshop で 最近 Cumo でも動くようにちょっとずつ対応している、 Rumale の読みが ルメール ではなく ラムエール だったことです(この場で発表された)。

3日目

  1. Fuzzing native Ruby code with Kisaten
  2. Running Ruby on Apple II
  3. Performance Optimization Techniques of MessagePack-Ruby
  4. Timezone API
  5. The send-pop optimization
  6. Optimization Techniques Used by the Benchmark Winners

この日は Fuzzing という文字列を見かけたのでこちらを聴講。 Gem をリリースしているみたいで使ってみようかとおもった。

おわり

今回は全セッション聴講しました。このなかで一番すきな発表としては Ruby on Apple II のやつがぶっとんでてよかったですね。 最後のキーノートは疲れながらも聴いていたが、 ネルネルネルーとおもった瞬間に「お前はなにを言っているんだ?」っていう スライドが表れて大変よかった。

来年の RubyKaigi 2020 はMatz本なのでまた参加しますねこれは。

今年の RubyKaigi 飯の写真は以下になります。

RubyKaigi 2019

endgame keyboard...

2019-02-11 22:48:24 +0900

新しいキーボードを作りました!

Fortitude60

去年の9月頃に Group Buy の募集があったので応募して購入。

くみたて

ビルドガイド に沿って組み立てていけば問題ないです。

今回は、 LED をキー毎に光らせる方向ですすめてみました。

  1. 基板にダイオードつけます。

  1. 基板にLED 用に抵抗(470Ω)をスイッチ毎につけます。制御用の抵抗(1kΩ)と FET を各ボード毎につけます。

  1. スイッチをプレートにはめます。

  1. 基板とスイッチをはめたプレートを合体させます

  1. LED をスイッチに刺します。

  1. 半田付します。

  1. MCU を基板に接続

  1. 通電確認!

  1. keycap まうんと!

おわり

という漢字になりました。 さすがに透過キーキャップだと部屋が明るくなりすぎるので不透明キーキャップに変更していまはつかってますので、大分おちつています。

今年いった日本酒が飲める店 2018

2018-12-31 23:59:59 +0900

去年は ビール屋さん でしたので今年は日本酒をまとめてみます。

何軒いった?

まず、今年行ったお店を列挙してみます。

  1. 鷹匠
  2. 多田
  3. かず味家
  4. 喜楽
  5. 笹一酒造 酒遊館
  6. 絵馬亭
  7. オトナリ
  8. まぼ屋
  9. 勘助
  10. 大塚はなおか
  11. KURARA
  12. うお座
  13. うしじま酒店
  14. 福33
  15. 魚屋 がぶ
  16. ずぶ六
  17. 酒壺しずく
  18. 坂ノ下ノオリゼ
  19. 釜竹
  20. 立ち呑み 庫裏
  21. いまここ

とりあえず挙げてみました。

どこがよかった?

ここに書いてあるところはどこもよかったですよ

特に気に入ったお店

今年はじめて行ったなかでは、多田、はなおか、しずく、ずぶ六が特に好きでした。

多田とはなおかは、ミシュランのビブグルマンにのっているらしいです。料理がとてもおいしく、うめぇうめぇ言いながらたべてました。 多田は、日本酒が選択できますが、はなおかは料理にあわせたお酒をだしてくれます。 どちらのお店も日本料理となります。

季節によりますが、多田は季節にあわせた肴を出してくれて冬は牡蠣の塩辛?(失念)や夏ですと、鱧のお吸い物を出してくれました。

今年行っていない店

今年行っていない店としては、29rotiと壺中が行けていないですね。

29rotiは生ハムとチーズが大変美味しく、熱燗や常温のお酒とよい感じに合います。要予約のお店ですので今年は行けなかったです。

壺中は熱燗専門のお店で予約とかなく入れますので、そのうち行こうと思い行かずにおわってしまた。

おわり

いかがでしたでしょうか?来年はまたビールをまとめたいとおもいますのでよろしくおねがいします。

sake 2018

docker-composeを利用してRailsアプリ開発を楽にしよう

2018-12-09 21:11:56 +0900

ていうのをうなすけさんに相談したら、解決策を示してくれたのでそれを開発向けに変えてみた。 Dockerとdocker-composeはみなさんごぞんじだと思うので割愛します。

はじめに

Railsアプリ用 Dockerfile を準備します。こちらは、元記事と同じで良いとおもいますが、元記事ではすべての条件を満たすために、不要な DB やミドルウェアのライブライをインストールしてますので必要なものだけにします。 このRailsアプリでは、DB として postgres を利用していますので関連のライブラリをインストールします。

FROM ruby:2.5.3-stretch

ARG NODE_MAJOR_VER=11
ARG BUNDLER_JOBS=4

RUN curl -sL https://deb.nodesource.com/setup_${NODE_MAJOR_VER}.x | bash - \
  && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
  && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
  && apt update && apt install --assume-yes \
    postgresql-contrib \
    libpq-dev \
    libxml2 \
    libxml2-dev \
    libxslt1-dev \
    git \
    make \
    nodejs \
    yarn \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /rails
COPY . .
RUN bundle install --jobs=${BUNDLER_JOBS}
RUN yarn install

同様に docker-compose.yml を必要なものだけにします。

version: '3'
services:
  rails:
    build: .
    command: /bin/bash
    environment:
      - NODE_MAJAR_VER=11
      - BUNDLER_JOBS=4
      - DB_HOST=postgres
    volumes:
      - ".:/rails"
    links:
      - postgres
    command: ["bundle", "exec", "rails", "s", "-b", "0.0.0.0"]
    ports:
      - "3000:3000"
  postgres:
    image: postgres:11.1-alpine
    ports:
      - "5432:5432"

こちらも postgres だけにします。

おわり

あとは docker-compose up rails とし、実行することで見れるようになっています。

hello language server

2018-12-01 13:00:59 +0900

ここ1、2週間、 emacs で lsp-emacs を使いはじめたのでそのメモ

Language ServerLanguage Server Protocol ってなによ?って人はリンクをみてください。

導入

導入は簡単で以下の3つをpackage-installでインストールしてしまえば OK です。

lsp-mode
lsp-ui
lsp-ruby

インストール後は .emacs.d/init.el あたりに、

(require 'lsp-mode)
(require 'lsp-ui)
(require 'lsp-ruby)
(add-hook 'ruby-mode-hook #'lsp-ruby-enable)

を追記すると emacs 側の設定はできました。

lsp-ruby(emacs) を起動する前に gem install solargraphsolargraph をインストールしておきましょう。

利用開始!

利用開始するときは利用したいファイルのトップディレクトリ(プロジェクトディレクトリ)に、 Gemfile が必要です。

でこんなかんじに表示してくれます。

-> <-

matome

lsp-ruby を導入したけど、solargraph だとちょっとあれな表示が出て残念な気分に。 また rubocop も基本的に要求されるようで…

remove rails assets

2018-11-06 00:40:32 +0900

ひさびさに Ruby on Rails の話で、自作の rails application で rails-assets というところからいくつか gem を利用してたので それを Yarn で同様のパッケージをインストールするように変更した。

なにをやったのか?

単純に一旦 rails-assets からインストールしている gem を Gemfile から削除します。

そのあと、 yarn addpackage.json を生成し node_modules にインストールします。

yarn add [email protected] font-awesome jquery
yarn install
rails s

インストールが終了し、railsを起動したら必要な情報(font-awesome, bootstrap) を app/assets/{javascripts,stylesheets} に記載。

// app/assets/javascripts/application.js
//= require rails-ujs
//= require turbolinks
//= require jquery/dist/jquery.js
//= require bootstrap-sass/assets/javascripts/bootstrap
//= require_tree .
# app/assets/stylesheets/application.scss
@import 'bootstrap-sass/assets/stylesheets/bootstrap';
@import "font-awesome/scss/variables";
$fa-font-path: "font-awesome/fonts/";
@import "font-awesome/scss/mixins";
@font-face {
  font-family: 'FontAwesome';
  src: font-url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
  src: font-url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
    font-url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
    font-url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
    font-url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
    font-url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@import "font-awesome/scss/core";
@import "font-awesome/scss/larger";
@import "font-awesome/scss/fixed-width";
@import "font-awesome/scss/list";
@import "font-awesome/scss/bordered-pulled";
@import "font-awesome/scss/animated";
@import "font-awesome/scss/rotated-flipped";
@import "font-awesome/scss/stacked";
@import "font-awesome/scss/icons";
@import "font-awesome/scss/screen-reader";
$icon-font-path: "bootstrap-sass/assets/fonts/bootstrap";

ってかいたら使えるようになっています!

おわり

ということで IMASARA ですが rails-assets からの脱却ついでに簡単に yarn を利用した assets の導入をやってみました!

new keyboard

2018-10-18 23:45:09 +0900

タイトルのとおり家のキーボードを新調しました。

Iris

機械学習でよく評価されるやつじゃなくてキーボードであるやつです。

keeb.io で売ってます。

購入

欲しい欲しいといってたらいつのまにか復活したのでケースとセットで購入。

組み立て

公式やASCIIにあるのでそれに従い組み立てハンダ付します。特に言うことはないです。

ハンダ付ミスっても近所に電子工作の得意なお兄さんに工具を借りれたのですぐに解決です。

完成

はい。

-> <-

おわり

この記事は新しいキーボードに慣れるため書いています。

今まで利用していた Kinesis のやつは仕事場に持っていってます。

配列を Kinesis で利用してた時と似せていますが、少し違うのでまだ打ちにくいです。

あと、技術書典5来てくださいた皆さまありがとうございました。 次回も出そうという気が湧いてきましたので次回もよろしくお願いします。

くーも

2018-09-11 00:13:45 +0900

Rubyで cuda を利用して GPGPU 使いたいの で cumo を導入してみた。

install

はじめに cuda をインストールしておきます。 gem に登録されているので、雑に gem install 実施してみます。

export CUDA_PATH="/opt/cuda"
export CPATH="$CUDA_PATH/include:$CPATH"
export LD_LIBRARY_PATH="$CUDA_PATH/lib64:$CUDA_PATH/lib:$LD_LIBRARY_PATH"
export PATH="$CUDA_PATH/bin:$PATH"
export LIBRARY_PATH="$CUDA_PATH/lib64:$CUDA_PATH/lib:$LIBRARY_PATH"
gem install cumo

とすると以下のようなエラーが出てだめです。

gcc -I. -Iinclude -Inarray -Icuda -I/home/katsyoshi/.rbenv/versions/2.5.1/include/ruby-2.5.0/x86_64-linux -I/home/katsyoshi/.rbenv/versions/2.5.1/include/ruby-2.5.0/ruby/backward -I/home/katsyoshi/.rbenv/versions/2.5.1/include/ruby-2.5.0 -I. -I/home/katsyoshi/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/numo-narray-0.9.1.3/ext/numo/narray -DHAVE_NUMO_NARRAY_H -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_STDBOOL_H -DHAVE_STDINT_H -DHAVE_TYPE_BOOL -DHAVE_TYPE_U_INT8_T -DHAVE_TYPE_U_INT16_T -DHAVE_TYPE_INT32_T -DHAVE_TYPE_U_INT32_T -DHAVE_TYPE_INT64_T -DHAVE_TYPE_U_INT64_T -DHAVE_EXP10 -DHAVE_RB_CCOMPLEX -DHAVE_RB_THREAD_CALL_WITHOUT_GVL -I/opt/cuda/include -I/home/katsyoshi/.rbenv/versions/2.5.1/include -fPIC -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wmisleading-indentation -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wduplicated-cond -Wno-maybe-uninitialized -o narray/types/bit.o -c narray/types/bit.c
narray/gen/tmpl/lib.c:22:7: エラー: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘/’ token
 #define m_map(x) m_num_to_data(rb_yield(m_data_to_num(x)))
       ^
narray/gen/tmpl/lib.c:23:29: エラー: 終端する > 文字がありません

                             ^
narray/gen/tmpl/lib.c:23:29: 致命的エラー: static ID id_cast;: そのようなファイルやディレクトリはありません
コンパイルを停止しました。
make: *** [Makefile:453: narray/types/bit.o] エラー 1

公式リポジトリ覗いてもとくに問題なさそうなので gem からのインストールは一旦おいてソースからインストールします。

build

公式リポジトリからダウンロードしてコンパイルをはじめます。

git clone https://github.com/sonotz/cumo.git
cd cumo
export CUDA_PATH="/usr/local/cuda"
export CPATH="$CUDA_PATH/include:$CPATH"
export LD_LIBRARY_PATH="$CUDA_PATH/lib64:$CUDA_PATH/lib:$LD_LIBRARY_PATH"
export PATH="$CUDA_PATH/bin:$PATH"
export LIBRARY_PATH="$CUDA_PATH/lib64:$CUDA_PATH/lib:$LIBRARY_PATH"
bundle install
rake compile
rake install

ってインストールできますが、その前に僕の環境が gcc-8.2.0 だったりして、これを gcc-6.4.0 に戻したりしてインストールしました。

run

これでインストール終わりましたので、 irb で確認してみようと思います。

irb(main):001:0> require 'cumo/narray'
=> true
irb(main):002:0> Cumo::Int32.new(3, 3).fill(0)
=> Cumo::Int32#shape=[3,3]
[[0, 0, 0],
 [0, 0, 0],
 [0, 0, 0]]

とこれで実行されたことを確認できます。

と簡単に書きましたが、インストール後にGPUへのアクセス権が無いユーザーで実行したためエラーが出ます(エビデンス取得忘れ)。 手元のPCではGPUにアクセス権がvideo groupにもあるので利用ユーザーをvideo groupへ追加して再起動することでようやく動作確認ができます。

おわり

簡単にGPGPUを利用したプログラムが書けるようになりましたのでおわりです。 技術書典5はこれを使ったはなしを出展しますのできてみてくださいな。

え37でまってます

SATySFi使って本書いてみてる

2018-09-09 14:29:46 +0900

技術書典5出しますので、それを書くために OCaml で作成された SATySFi を使いはじめました。

インストール

今回は OPAM を利用してインストールをしています。まあ単純にパッケージが今普段使いしてるOSにないだけなんですけどね。 インストール手順は 公式のREADME.md を参考にしています。

OPAM

OCaml Package Manager の略らしいです。 こいつは OCaml のインストールもしてくれるのでこれを利用します。 OPAM のインストールは簡単で以下のスクリプトを実行するだけです。

wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin

OCaml

OPAM のインストールが終ったら、 OCaml をインストールします。

opam switch 4.06.0
eval `opam config env`

SATySFi

OPAM の準備が整ったら SATySFi の準備、インストールをします。

opam repository satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam update
git clone https://github.com/gfngfn/SATySFi.git
cd SATiSFi

opam pin add satysfi .
opam install satysfi

compile!!!!

これでインストールされたのでとりあえずリポジトリにある demo/demo.saty をコンパイルしてみましょう。

cd demo
make

なにも準備していないといきなりエラーがでますのでそれを公式を参考にして解消します。 解消できたら demo.pdf ができますのでこれでつかえるようになります。

おわり

ちょっと簡単でしたが、 satysfi の導入日記でした。

そんなことより技術書典5に出します。ネタは酒に関するネタでやっていく予定です。 仕上がっていれば え37 に居るとおもわれます。