an odd fellow

読書と写真と情報工学

サムライズムの IntelliJ ハンズオンに行きました #jbugj

普段は Spacemacs を使っているんですが、学生のときからバイト先では PyCharm や PHPStorm を使ってはいました。いましたが、Shift を 2 回叩くと出て来る何でも検索機能程度しか使っていませんでした。

4月から就職したんですが、就職先が All Products Pack を買ってくれたので、さすがに安くない金を出してもらってライセンス買ってもらったんだし、もうちょっとちゃんと使おうという気持ちになっているところに、サムライズムでハンズオンやるよ!とツイッターで見て行ってきました。

解説はサムライズムの社長の山本さんが直々にいただきました。インターネットにも解説記事とかはありますが、山本さんが言うなら正しいんだろうという安心感があります。簡単なHTMLとJavascriptを書きながら JetBrains IDE の基本的な機能を解説していく方法でわかりやすかったです。人数も少なかったので途中で遮って質問できたのも良かった。

私は紹介いただいた JetBrains IDE の機能の中で postfix completion と refactoring の機能が気に入りました。

postfix completion

IntelliJ IDEA 13.1のPostfixコード補完 | JetBrains ブログ

・refactoring 変数の抽出の例

Extract Variable - Help | IntelliJ IDEA

また、JetBrains IDE はデフォで戦えるので基本的に設定は弄らずに使うのが良いそうですが、IdeaVimはOKだそうです。

というわけで、JetBrains IDE 初心者にハンズオンとてもおすすめです。今月も来週やるようなので行ってみてください。 https://samuraism.doorkeeper.jp/

terraform init が s3 の認証情報が違うと言ってコケるとき

備忘録

問題

terraform init で -backend-config を指定すると以下のように怒られた。

$ terraform init -backend-config="key=prd/gcp-terraform.tfstate"

Initializing the backend...

Error configuring the backend "s3": No valid credential sources found for AWS Provider.
  Please see https://terraform.io/docs/providers/aws/index.html for more information on
  providing credentials for the AWS Provider

Please update the configuration in your Terraform files to fix this error.
If you'd like to update the configuration interactively without storing
the values in your configuration, run "terraform init".

provier.tf で aws のアクセスキーとシークレットキーは以下のように指定してあり、-backend-config を指定するまでは動く事を確認している。

provider "aws" {
  access_key = "ACCESS_KEY"
  secret_key = "SECRET_KEY"
  region = "us-west-2"
}

解決策

自分は環境変数に吐くことにした。変数名はアクセスキーがAWS_ACCESS_KEY_ID、シークレットキーがAWS_SECRET_ACCESS_KEY。 (参照: AWS CLI の設定 - AWS Command Line Interface)

$ export AWS_ACCESS_KEY_ID = "ACCESS_KEY"
$ export AWS_SECRET_ACCESS_KEY = "SECRET_KEY"

sklearn準拠のモデルの書き方について

会社の同期で行ったLT合宿で喋りました。

speakerdeck.com

おまえのすべてが燃え上がる

 

おまえのすべてが燃え上がる (新潮文庫nex)

おまえのすべてが燃え上がる (新潮文庫nex)

 

竹宮ゆゆこ先生の新刊、良かった。

 

取り返しの付かなさが良い。最初から取り返しの付かないとこから始まって、最後まで取り返しが付かない。取り返しの付かなさが全力で足を引っ張っている。もちろん主人公信濃は取り返そうとしてみるけれど、取り返しの付かなさは絶対にそれを許さない。

 

でもきっとこの話はハッピーエンドだった。ぶくぶくの黒い沼みたいな人生から、重り付きでも途切れていても人の道を歩くための話だった。

 

だけど、不幸だったのは彼女だけじゃ無かったのだ。幸せそうな主婦青葉さんも、バリキャリの美人白鳥さんも、みんな自分や他人にかけられた呪いが足を引っ張って、ままならない人生になる。

 

僕も気づいたら 24 だ。それなりに取り返しの付かなさを積み重ねてしまった。意外に、人生は短いのだ。良い小説だった。

 

竹宮ゆゆこ先生の書く擦れた大人の女のひとの話、大好きだ。知らない映画のサントラを聴くはいつか映画にして欲しいと思って居る。

 

知らない映画のサントラを聴く (新潮文庫nex)
 

 

男の着エロ画像をランダムで表示する slack bot を Python で作る

https://github.com/roronya/skinybotgithub.com

大学に六年も通って出来るようになったことが此のようなくだらんことでは、君のお母さんは泣いているぞ。

以下を見たら1時間で作れた。

PythonでSlackbotを作る(1) – ビットログ

このライブラリが強かった。slack の API キー取得してきたらコンフィグファイルに貼り付けて、あとは画像取ってくるロジックを2,3行書いただけ。

github.com

動作例

今年読んだ本

今年読んだ本 - an odd fellow

2014年消費したおはなしたちまとめ - an odd fellow

三年前から一月一冊をノルマに読書している。今年は達成した。ラノベも含むけど 19 冊読みました。

ろにゃさんの読んだ本 - 読書メーター

今年は旅行前の予習としてその土地を舞台にした小説を読むことが多かった。富良野旅行は三浦綾子の泥流地帯、函館旅行は司馬遼太郎燃えよ剣といった具合である。これはなかなか面白い経験だった。その土地に根差した人物を好きになると、その土地を踏むだけでテンアゲである。函館旅行なんか、土方歳三が討たれたと伝わる、今となっては何の変哲もない住宅街の真ん中で、一人で写真を撮ってブチアガって居た。

燃えよ剣〈上〉 (新潮文庫)

燃えよ剣〈上〉 (新潮文庫)

そういうわけで今年は燃えよ剣が一番印象に残った小説…としたいところだが、今年は三浦綾子の氷点を上げたい。

氷点(上) (角川文庫)

氷点(上) (角川文庫)

泥流地帯で三浦綾子にハマると、直ぐにデビュー作であり傑作と云われる氷点も読んだ。これがいい。氷点の良さを説明しきる言語能力を持たないのが口惜しい。

文章読本 (中公文庫)

文章読本 (中公文庫)

あとは谷崎潤一郎文章読本だろうか。色々消費して見ると、他人にその良さをどうにかして伝えたくなるんだが、その術を持たないことに気づく。いわゆる文章力というやつで、このノウハウ本は古来より需要があったらしく、文章読本という名で様々な人物により出版されており、手始めに谷崎潤一郎を読んでみた(村上春樹のものと迷った)という次第なんだが、これが良かった。文章の良し悪しなどはやはり感覚的なものではあるにせよ、それなりに理論立てて良し悪しが測れるようで、理系脳には有難い。少し齧っただけでも、その後の読書による経験値の稼ぎ方が変わった。しかし、結局のところたくさん読みたくさん書いて経験を積みなさいと言うことで、最近は気に入った作家の文章の写経などもしているし、毎日日記も付けている。

以上である。なんだか古めかしい本ばかり読んで居る。

来年は志賀直哉を読みたいと思っている。竹宮ゆゆこの新作と古典部シリーズの新作も読む積もりである。あとは村上春樹だろうか?同じ作家の本をまとめて読む機会が欲しいと思っていてこれを春休みにやる予定である。

jupyter に themes を適用する

jupyter に themes を簡単に設定することができる jupyter-themes を紹介する。また、jupyter-vim-binding と併用する際の設定についても書く。

jupyter-themes

jupyter に themes を設定できるコマンドツールを pip で入れられる。

github.com

$ jt -t onedork

これで themes は設定できる。

jupyter-vim-binding との併用

選択セルに themes が適用されない問題

jupyter-vim-binding と併用すると、CSS が競合して選択セルに themes が適用されない。これは jt コマンドに -vim オプションを付けることで解消できる。

$ jt -t onedork -vim

normal モードのカーソルの色を変える

デフォルトでは normal モードで緑のカーソルがチカチカとしている。せっかくなので themes にあった色を設定したい。これは~/.jupyter/custom/custom.cssを編集して変更できる。ファイルの冒頭に下記のように追加する。#0095ff は onedork でのカーソルの色に合わせている。

.cm-fat-cursor .CodeMirror-cursor {
 background: #0095ff;
}
...

諸注意

  • jt コマンドを叩くと custom.css が上書きをされるので、カーソルの色の変更をする設定は最後に行う。
  • jupyter notebook の再起動をしないと themes が適用されない。ブラウザのキャッシュにより変更がされていないように見える場合があるので、シークレットモードで確認をする。

MySetting

jt コマンドは -vim 以外にも色々オプションが付けれる。私はセルの幅を広くした。デフォルトでは 970 であるが、手持ちのノートブックの解像度を考えて 1300 とした(-cellw 1300)。また、jupyter-thems では画面上部のファイル名やツールバーが無効化されているのでこれを有効化する(-T -N)。

$ jt -t onedork -vim -cellw 1300 -T -N

f:id:roronya:20161204065154p:plain