happy new year and new language
いまさらですが、あけましておめでとうございます。
happy new language
年開けから新しくプログラミング言語(Rust)始めました。(ってわけでもない)
雑に rust book 2nd edition を一通り読み終えたので、
言語処理100本ノック をやりはじめました。
とりあえず第1章が終ったので、メモとしてのこします。
基本的に Rust
(に限らず)でやりたいことがとくにないので
ちょうどよさそうな勉強 として自然言語処理を選択しています。
躓いたところ
躓いていないところがないです。 まあやっていくうちに以下二つは常に書いておくと楽になるかなと。
// 1文字毎
fn chars(string: &str) -> Vec<char> {
string.chars().collect::<Vec<char>>()
}
// 1単語毎
fn words(sentence: &str) -> Vec<&str> {
sentence.split(' ').collect::<Vec<&str>>()
}
00. 文字列の逆順
これは簡単で(でもなかった)、1文字ずつ分解して反対化したあと String
にします。
fn reverse_string(string: &str) {
println!("{}", string.chars().rev().collect::<String>());
}
01. 「パタトクカシーー」
これも簡単で、1文字ずつ分解して抜き出します。(絶対違う)
fn main() {
let c = "パタトクカシーー".chars().collect::<Vec<char>>();
println!("{}{}{}{}", c[0], c[2], c[4], c[6]);
}
おわり
とりあえず2問解いてみたけど、自然言語処理 && Rust
難しい。
今年いったビール屋さん 2017
今年行ってよかったビアバー、ビアパブをまとめてみようとおもいます。
何軒いった?
まず、今年何軒いったのか確認します。
- 浅草ビアホール D’s diner
- Titans
- ブラッセルズ
- アンテナアメリカ
- WIZ CRAFT BEER and FOOD
- Bon Fire
- 谷中ビアホール
- アボットチョイス 渋谷店
- グッド スリープ ベーカー
- Mikkeller Tokyo
- デビルクラフト 五反田店
- BrewDog Roppongi
- Craft Beer Bar iBREW
- カンピオンエール
- シェイク シャック 東京国際フォーラム店
- Watering Hole
- ザロイヤルスコッツマン
- Belg Aube
- びあマ & Beer-Ma BAR
- Tail’s Ale House 本郷店
- クラフト ワークス
- 地ビールハウス 蔵くら
- BEER DINING The Griffon
- SWANLAKE Pub Edo 田町店
24軒、大分いってますね・・・
どこがよかった?
だいたいよいですね。Mikkeller, BrewDog, Swanlakeなどの直営店、Watering Hole, 蔵くら, Devil Craftの有名店は説明不要だとおもうんでパスします
特に気に入ったお店
北千住のびあマと大塚のTitansがとくによく、 両店ともボトルビールが充実しています。
びあマのほうはボトルビール選べるお店とタップや角打ちができる複合タイプのお店です。 近くに大きな公園があり、ここでビールを買ってわいわいしながら公園で飲むのがよいかんじです。店のなかで飲むのもよいです。
Titans は持ち込みありのお店で、近くに商店街があり、そこに有名なたこ焼き屋のはち八があるのでここで買ってきて飲むのもいいですし、 鍋持ち込んで鍋するのもよいですね。
あと、いいかんじの雰囲気で住宅街にある店でGood Sleep Bakerが好きです。 ここは Tap 数が少ないですが、パンがとてもおいしいです。 おすすめのメニューとしてはバインミーがとくにおすすめです。
今年行ってない店
意外でポパイ、萬感今年行ってないようでびっくりしてます。
おわり
こうやってみると24軒(重複してるのは数えていない)とほぼ毎週行ってるようで、それはお金がなくなるよね 今年、広島、兵庫行きましたが、どちらも日本酒しか飲まなかったので来年は、東京(関東)以外でも行こうとおもってます。
IRubyはじめました
表題のとおり、 IRuby をはじめてみました
インストール
インストールは簡単で gem install iruby
でいけますが、私の利用している環境では依存している czmq が古かったので手動でインストールして回避しています。
git clone https://github.com/zeromq/czmq.git
cd czmq
./autogen
./configure --prefix=${HOME}/.local
make -j4
make install
gem install iruby cztop
LD_LIBRARY_PATH=${HOME}/.local/lib iruby
でインストールと動作はできます。画像貼るのがメンドイので ipython
貼っておきます。
{
"cells": [
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <script>\n",
" requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
" </script>\n",
"\n",
"\n",
"<div id=\"c34db0db-dc37-4ae3-a2b3-33ab99830b89\" style=\"height: 100%; width: 100%;\"></div>\n",
"\n",
"<script>\n",
" require(['plotly'], function(Plotly) { \n",
"Plotly.newPlot(\n",
" 'c34db0db-dc37-4ae3-a2b3-33ab99830b89',\n",
" [{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],\"y\":[100,81,64,49,36,25,16,9,4,1,0,1,4,9,16,25,36,49,64,81,100],\"type\":null,\"mode\":\"\"}],\n",
" {\"width\":1000,\"height\":500},\n",
" {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
")\n",
"\n",
"window.addEventListener('resize', function() {\n",
" Plotly.Plots.resize(document.getElementById('c34db0db-dc37-4ae3-a2b3-33ab99830b89'))\n",
"})\n",
" }) \n",
"</script>"
],
"text/plain": [
"#<Plotly::Offline::HTML:0x000056356f14be00 @id=\"c34db0db-dc37-4ae3-a2b3-33ab99830b89\", @data=[{:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], :y=>[100, 81, 64, 49, 36, 25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100], :type=>nil, :mode=>\"\"}], @layout={:width=>1000, :height=>500}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"#<CZTop::Socket::PUB:0x56356e7f3620 last_endpoint=\"tcp://127.0.0.1:45835\">"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"require 'daru'\n",
"require 'daru/plotly'\n",
"include Daru::Plotly::Methods\n",
"\n",
"dv = Daru::Vector.new((-10..10).map{|n| n ** 2 })\n",
"plot(dv, x: \"x\", y: \"y\").show"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Ruby 2.4.2",
"language": "ruby",
"name": "ruby"
},
"language_info": {
"file_extension": ".rb",
"mimetype": "application/x-ruby",
"name": "ruby",
"version": "2.4.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
ウイスキーアドベントカレンダー2日目
ウイスキー Advent Calendar 2017 の2日目の記事です。
ウィスキーはピートの香りが強いほうがすきです。
とりあえず蒸留所に行ってきた話を 以前、白州蒸留所 と 山崎蒸留所 に行ったことがあるのでその話を。
白州蒸留所
白州へは5年くらい前に5人でわいわいしながら行ってきました。 ここでは、工場見学のツアーに参加しました。 また、テイスティングルームですこしウイスキーを試せて良いです。
山崎蒸留所
山崎は去年、京都へ行く機会があり、ウイスキーを買うために行きました。 ここでも工場見学可能だったのですが、事前に予約が必要であるため 今回はパスして、工場に併設されているウイスキーのテイスティングルーム で幾つかのウイスキーをたのしみ、ショップでウイスキーと梅酒を買って 鴨川へ
おわり
日本のウイスキーはあまり得意じゃないのですが、蒸留所に行くのは楽しいし 楽しみ方を教えてもらえるので近くに蒸留所がある方は一度行ってみるとよいとおもいます
mikutter合宿いってきた
mikutter Advent Calendar 1日目のエントリです 先月の11/23-26に @toshi_a の垢凍結記念の mikutter合宿 に行ってきた
なにしにいってきたの?
リフレッシュ、気分転換、野々村せんせーの気分を味わいに、toshi_aさんをAORIに。 蟹、但馬牛、温泉を楽しみに。 くわしくは @akkiesoft の ブログエントリ を読んで。 城崎は温泉もよく、宿も落ち着いており、周りの店が早く閉まる以外の不満はなかったですね。
でなにやってたの?
温泉、酒、飯以外なにもやってない。
mikutterのgtk3対応手をつけようかとおもったけど、無理だった。
ついでに天橋立もいってきた
室長()が天橋立いくぞっていってたので連れてってもらった。
-> <-
酒蔵
ついでに天橋立近くの酒蔵 向井酒造 にいってきた。ここは室長が9時までやってるから! って5時半くらいに行ったらすでに閉まってて、丁度女将さんが出てきたところだったので開けてもらい酒を買いました。
-> <-
おわり
おわり
Emacsの構成管理をitamaeで管理
仕事とプライベート環境でemacsのフォント等設定するのがいいかげんダるくなってきたので、Itamaeを流すだけでイイカンジにするようにした
もともとどうかんりしてたのか
もともとgithubで管理していたが、さすがにFontの環境異差をちょこちょこ変えるのが面倒になった
Itamae de kanri
gitで管理しているので環境異差ある部分をitamaeで管理するように方針を転換。
emacs:
font:
family: Ricty
height: 120
packages:
- auto-complete
settings:
- git
とか書いてあとはItamaeを実行することで必要なパッケージのインストール、 必要な設定へのリンク追加などをするようにしました。
おわり
これでなにも考えなくてすむようになるのかな?
rustful web
rust で Web Application をつくろうと思って rustful を使ってやってみてたりした。
ドキュメントと利用しているバージョンのコードが異なり、必要なモジュールが読み込めなかったり、関数の引数が異なったりしてうごかねぇってなったのでHEADを使うことで解決。
🍻
とりあえずいつものメンバーで🍻にいってきた。浅草のカンピオンエールという店でのんでそのあと隣の店でお好み焼きをたべてた。お好み焼き屋のあとは河原まであるて吾妻橋からみえる やつをながめながらビールのんでた
use red-arrow.gem
こないだインストール した Apache Arrow がとりあえず Ruby でうごくようになったのでメモ
メモ
gemのインストールは前回のインストールを行なえば問題ないです。ですが、arrowを利用しようとすると失敗します。
require "arrow"
/home/katsu/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/gobject-introspection-3.1.4/lib/gobject-introspection/loader.rb:37:in `require':GObjectIntrospection::RepositoryError::TypelibNotFound: Typelib file for namespace 'Arrow' (any version) not found
これは GObjectIntrospection
のロードに失敗しているようです。
なのでここやここを参考に環境変数 GI_TYPELIB_PATH
を設定すると読み込まれるようになり実行できます。
$ export GI_TYPELIB_PATH=/path/to/girepository-1.0
$ irb -rarrow
とやるとエラーがなくなります。
最後にサンプルを実行して確認しました!
% ruby write-file.rb
% ruby read-file.rb
========================================
record-batch[0]:
uint8: [1, 2, 4, 8]
uint16: [1, 2, 4, 8]
uint32: [1, 2, 4, 8]
uint64: [1, 2, 4, 8]
int8: [1, -2, 4, -8]
int16: [1, -2, 4, -8]
int32: [1, -2, 4, -8]
int64: [1, -2, 4, -8]
float: [1.100000023841858, -2.200000047683716, 4.400000095367432, -8.800000190734863]
double: [1.1, -2.2, 4.4, -8.8]
========================================
record-batch[1]:
uint8: [2, 4, 8]
uint16: [2, 4, 8]
uint32: [2, 4, 8]
uint64: [2, 4, 8]
int8: [-2, 4, -8]
int16: [-2, 4, -8]
int32: [-2, 4, -8]
int64: [-2, 4, -8]
float: [-2.200000047683716, 4.400000095367432, -8.800000190734863]
double: [-2.2, 4.4, -8.8]
おわり
最初ろーどえらーでこまってた
installing apache arrow
最近すとうさんが一押ししているapache arrowをインストールしてみた
環境
$ uname -a
Linux rin 4.9.10-gentoo #6 SMP Tue Mar 28 01:29:26 JST 2017 x86_64 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz GenuineIntel GNU/Linux
$ gcc -v
組み込み spec を使用しています。
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.4.0/lto-wrapper
ターゲット: x86_64-pc-linux-gnu
configure 設定: /var/tmp/portage/sys-devel/gcc-5.4.0-r3/work/gcc-5.4.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.4.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.4.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.4.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/5.4.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 5.4.0-r3 p1.3, pie-0.6.5' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx --enable-vtable-verify --enable-libvtv --enable-lto --without-isl --enable-libsanitizer
スレッドモデル: posix
gcc バージョン 5.4.0 (Gentoo 5.4.0-r3 p1.3, pie-0.6.5)
いんすとーる
今回まだGentooにパッケージがないのでgitからインストールします。ほしいのはrubygems.orgに公開されているred-arrowをコンパイルするためにglibとこれを利用するために必要な依存パッケージとしてcppをインストールします。インストールはかんたんで cmake
を実行すればインストールデキルはずです。
$ git clone git@github.com:apache/arrow.git
$ cd arrow/cpp
$ mkdir release
$ cd release
$ cmake .. -DCMAKE_BUILD_TYPE=Release
でリリース用パッケージがビルドされるはずですがエラーが出ます。
これはJIRAで検索した結果より gcc
のバージョン情報がとれずにエラーをだしているやりとりが発見されたのでわかりました。
ログを見ると実際に取得できていないことも確認しました。で cpp/cmake_modules/CompilerInfo.cmake
をみるとどうやら日本語のバージョン情報は考慮されていないような作りになっていました。
なので LANG=C
をつけて cmake
再びつけて実行します。
$ LANG=C cmake .. -DCMAKE_BUILD_TYPE=Release
$ make
$ make install
これでC++のインストールは終了です。続いてglibをインストールします。
$ cd ../../c_glib
$ ./autgen.sh
$ ./configure
$ make
$ make install
でインストールできます。こちら久々に野良ビルドしたため PKG_CONFIG_PATH
や LD_LIBRARY_PATH
の設定をわすれてただけなのですんなりいけました。
で最後に gem install red-arrow
を実行して目的を達成しました!!!!11
おわり
ほんとうのもくてきは fluentd
のぷらぐいんをかくことですがつかれたのできょうはここまで
start watching dazn
タイトルのとおり、DAZNを見はじめた。 Netflix, Huluを契約してたけど、ぜんぜん見ていなかったので解約した。 DAZN をみようとおもったきっかけはNBAのカンファレンスファイナルをみようとおもったため。
とりあえず視聴感想ですが、表示は色々なところで言われてるとおもいますが、 接続開始時にブロックノイズが気になりますが、一旦綺麗に表示されるとそのあとは 特に気になりません。
肝心の試合内容が現在非常に残念なため試合内の評価はしません。