新卒採用イベントで京都に行った

というタイトルで記事を書くつもりだったが、先にこれを書いてしまった。

note.mu

社員の日常が伝わるような気楽な/気軽な情報のストックを作りたいという、創業者の"精度高い思いつき"に乗っかり、livesense daysというnote上のマガジンに記事を追加したかたちだ。

桂さんの思いについては、詳しくはこれに書いてある。

note.mu

僕は(悪い意味で)変にまじめなところがあり「"daysっぽさ"を重視して、肩肘張らないようにするぞ」という肩肘の張り方をしてしまったような気もする。

ひとまず、noteでのマガジンはあれこれ手探りで手探りでやってみて、ある程度継続できそう/定着できそう/意味ありそうという感覚を持てたら正式な共有をするのだと思う。

さて、京都の話だが、うちの会社では「採用イベントで遠方に行く際は前泊OK」ということになっていて(たぶん)、それを利用して前日の朝から京都に乗り込み、散々観光して写真を撮ったというかたちだ。 採用イベントで学生の方と話すのは楽しいし、本当に自分が学生の頃に持っていなかった優秀さを感じられて刺激を覚えるのだが「25分×10コマの面談を行うのはしんどい」という揺るぎない本音もあり、バランスとるためにも遠方開催の場合は目一杯楽しむことにしている。(とはいえ、同様のプレゼンテーションを繰り返さなくてはいけない、学生の方が大変だろうなという思いはあり、本当に頭が下がる思いがある)

祇園〜八坂や

嵐山を散策した。

予習として、Nasneに録画したっきりになっていたブラタモリの京都回を計6回分見るといったことを行ったので、地形や歴史について思いを馳せたりすることができた。

写真にハマっている

気が向いたので久しぶりにブログを書いてみる。

社会人1年目のときにNikon D7000を買って、それなりに写真が好きで、レンズもいくつか安いものを買い足したりしていたのだけど、とうとう去年くらいからフルサイズが欲しくなってきていた。 当初はNikon D850を考えていたのだけど、ある日家電量販店で「憧れのカメラD850に、憧れの大三元24-70mm」という状態でディスプレイされてるのを見て、意気揚々と持ち上げたらその重さに辟易してしまい、それ以降、今後のカメラステップアップをどうやっていこうものかと考えていた。

そんな中、今年の3月頃に、Sonyがミラーレスでフルサイズ一眼を出していて、評判もいいことを知った。 また、今度出るモデル「α7iiiは、これまでの連射性能やバッテリーの持ちや操作系といった、不便な点を解消してきた間違いないモデル」といった評判を聞くにつれ、欲しい気持ちが高まった。

おもむろにツイートしたら想像以上にバズった。

その後、Spreadsheetに資金計画などを書き、晴れて妻の許しもらって、購入に至った。

その後、会社に支援してもらって、

アメリピッツバーグで行われたRailsConf 2018に行く機会があったり

made.livesense.co.jp

仙台で行われたRubyKaigiに行く機会があったり、

と、撮影のチャンスに恵まれた。

当初はキットレンズ(f3.5-5.6 28-70mm)と撒き餌単焦点(f1.8 50mm)を手に入れて「高い買い物をしたのだし、しばらくはレンズを買い足さずに50mmという画角でいろいろな写真を撮り、うまくなろう」と思っていたのだが、人間とは恐ろしいもので、「旅行など再訪することが難しい場所に行くときに、任意の焦点距離をサッと選べないのは不便だし、そういうときに明るいズームレンズがあったほうが良い」というロジックで、キットレンズを売ってTamron A036(f2.8 28-75mm)を購入した。

やはり明るいズームレンズは正義で、会社のブログ用写真を撮る名目で開発合宿にカメラを持っていき、75mmで人が発表している様子を撮影した後に、晴海埠頭に行って広角で夜景を撮るといったこともできた。

そんな感じで、僕がいい感じに写真沼に浸かっていると「俺も浸かってるよ」「俺も浸かりたい」などと言ってくれる仲間たちが現れはじめて、休日に数人で家電量販店に押し寄せて機材を一緒に購入してから街でスナップを撮るなどやっていて、楽しい。

購入してからそろそろ半年になり、撮影枚数はだいたい8000枚くらいになった。 ひとまずSynologyのNASにつっこんだうえで、バックアップとしてjpgとrawをPrime Photosに、観賞用にjpgを圧縮してGoogle photosにアップロードしているが、いい感じに自分の作品(と言えるレベルのものでものないのだが)のみをどこかに置いておきたいなとも考えている。 ひとまず、500px に何枚かupしてみた。 このへん引き続き模索しつつ、たまにブログにも写真など載せたいと思う。

よちよち.rb の開発合宿に行った #yochiyochirb

9/4(金) - 9/6(日)で、よちよち.rbの開発合宿に行った。

行き先

マホロバマインズ三浦さん。 弊社の開発合宿でも過去に使われたらしい。

会議室あり / 温泉あり / 卓球場あり / 雀卓あり / 駅近し / コンビニ近し / 海近し

って感じで、すごくよかった。

よちよちの開発合宿について

詳細はこちら -> Doorkeeper

よちよちで開発合宿をやるのは、去年に引き続き2回目。去年は熱海の山喜旅館さん。ちなみに去年の開発合宿で僕が作ったのはこれ。

highwide.hatenablog.com

合宿では各自が自分の好きなことをやればいいということになっていて、みんな各々のことをやってた。

タイムスケジュール

1日目

時間 やったこと
- 20:10 会社でインターン生と飲んでた
20:30 品川駅集合
21:15 - 22:30 京急線ウィング号でトイレ我慢してた
23:00前 宿到着
23:00 - 2:30くらい ハリガリとか厨二UNOとかニムトとかカードゲーム大会

※ハリガリ

ゲーム ハリガリ フルーツゲーム<AMIGO社 ドイツ>

ゲーム ハリガリ フルーツゲーム<AMIGO社 ドイツ>

2日目

時間 やったこと
6:30 奇跡的に目が覚めた
7:30くらい 朝食バイキングでとろろご飯食べた
9:00 - 12:00 設計についてあれこれ相談させてもらった
12:00 - 13:00 昼食 (牛丼)
13:00 - 13:30 卓球 (海に行ってる人もいた)
13:30 - 18:00 コード書いてた
18:00 - 19:00 夕食 (お重に入ったあれこれ)
19:00 - 21:30 話したり、お風呂入ったり
21:30 - 23:00 とみーさんとペアプロでテスト書く
23:00 - 3:00 厨二UNOとかニムトとかカードゲーム大会

※厨二UNO (僕らが勝手にそう呼んでいる)

Gods' Gambit~神々の一手~

Gods' Gambit~神々の一手~

3日目

時間 やったこと
8:00 絶望的な起床
9:00 - 10:30 テスト書き上げる
10:30 - 12:00 各自成果発表して撤収
12:30 駅近くでマグロ丼
13:00前 帰りの京急線乗り込んだ

僕がやったこと

最近とみーさん(@ta1kt0me)と shibaph というWebアプリを遊びで作っていて、そのコードを書いた。

shibaphは、僕がGitHubのcontributions graphが好きなので、それ使ってタスク管理とかできたらおもしろいかなというアイデアで始まったもの。Rails4で書いてる。

4月に転職してコードを書ける仕事に就けた喜びを噛みしめる一方で、仕事ってコード書くだけじゃないなって改めて思ったり、今の自分が価値発揮できるところがコード書くだけじゃなかったり、って感じだったので、合宿では「コード書くことに集中しよう」ってなんとなく決めてた。 きっと仲いい人たちとみんなで合宿すると楽しくなったり、雑談も弾むだろうなと思いつつ、僕はあんまりマルチタスクの遂行が上手でないことを自覚しているので、「一つのことをうまくやる」精神で臨んだ。

あとは、同僚が、プロコンの大会やハッカソンで2-3日ぶっ通しですごいコードをすごい量書いてすごい結果を収めているのを、すごいなぁと思っていたので、集中できる空間で集中してコード書くと、今の自分がどの程度できるのか確かめたかった。

結果

f:id:highwide:20150911004119p:plain

f:id:highwide:20150911003911p:plain

「上ででかいこと書いたわりに、めっちゃカードゲームしてんじゃんww」ってのはさておき、個人的には集中してコードが書けたと思ってるし、その一方で今の自分に書けるのはまだまだこんなもんかぁと思い知らされた気持ちもある。

難しかったこと

元々は、グラフをViewが描画しやすいように「ARモデルをValueとしたHashの、Array」っていう構造をControllerのprivateメソッドで作っていたのだが、呼び出すところでいちいちその構造を意識しなくてはいけないのがダルくて、呼び出され方をメソッド化した中間ClassをControllerで作ってViewに引き渡すようにした。 その際の中間ClassってRailsのディレクトリのどこに配置すべき?とか結構悩んだ。(結局Modelに置いた)

あと、「趣味プロジェクトなんだし使ったことない技術を使おう」と採用したminitestの書き方を調べるのにも時間がかかった。 (RSpecが書けるとは言っていない)

とはいえ

コード書くのも、みんなと話したり遊んだりするのも、楽しかった!

ありがとうございましたーー!!!

YAPC::Asia行ってきた

行ってきました。 初カンファレンス。とても楽しかった。 以下、観たやつとか。

8/21(木) 前夜祭

行けるかなって思ってたら行けなかった

8/22(金) 1日目

ビッグサイトの長いエスカレーター素敵だった。

Merry Christmas (Larry Wall) ※敬称略

  • Perl5とPerl6の関係は「ホビットの冒険」と「ロードオブザリング」の関係に近い。
  • 言語を作ることは物語を紡ぐことに似ているってなんか素敵だなと。
  • 中学生のときに観たロードオブザリングのことなんとなく覚えててすごく助かった。
  • 同時通訳すげーって思った。
    • 日常の言葉と、技術的用語と、トールキンの作品のことを正しく訳をわけるのほんとすごい。
  • Perl6、リリースできそう、よくわかんないけどなんかすごそう。
    • Perl6でのフィボナッチの書き方、ちょっと意味わかんなくておもしろかった。

Effective ES6 (teppeis)

  • とってもわかりやすくて、勉強になった。
  • あーーー、ES6のことちゃんと知らなきゃな―って思いながら放置してたので、「スライドで説明してもらう」っていう受動的なスタイル取れるの大変ありがたかった。
  • ES6素敵感やばいので、今のJavaScriptあんまり勉強したくないなとすら思ってしまった。
  • この前、「え、素のjsにArray#each的なのないの!?」ってテンパったので、早くES6触りたい。
  • 「バベっていこうぜ」って印象的だった。

TBD (matz)

togetter.com

  • Perl書けないし、参加前の時点で一番のお目当てのセッションだった。
  • To Be Determined かと思いきや違った。-> Toward Brain-aware Design
  • Rubyの一番反省している点は、Perlの影響」めっちゃ笑った。
  • 一方で、質疑で「Rubyの99.8%はイケてる」的なこと言ってたのなんかいいなぁって思った。
  • 「今日はRubyの話は封印」 -> 「封印を解く」めっちゃ笑った。
  • たぶんこのYAPCで一番笑った。
  • ハードウェアの進化による言語の変遷とてもおもしろい。関数型が注目集めてるのもマルチコアとかでの並列化とか背景にあるし、いろいろ考えたい。
  • Streemの考え方、やっとわかってきた。おもしろい。
  • もっとシェルの考え方身につける必要あるなと思った。

Conway's Law of Distributed Work (Casey West)

  • リモートワークの話。
  • CAP定理を組織にあてはめるっておもしろかった。
  • 「全員がオフィス通えるロケーションにいる」って中でリモートやる価値あるかどうかとか気になった。
  • 「リモートやりたいならまずは一週間とにかく試してみろ」的なの、やってみたい。

Podcasting, Media for Web Engineer, and CPAN (yusukebe)

  • Podcastのテクニカルな話ガッツリ!って感じだった
  • 意外と始めるコスト低いんだなとわかった
  • エンジニアのYoutuber的な感ある。始めるのは簡単だけど、人集めるのと、継続するの大変そう。

LT

  • PHPの闇の話印象に残ってる
  • うちのSlackにいる小野寺小咲さんと会話したいなと思った。
  • 株式会社ネコトーストラボさん覚えた。

タイムテーブルの事情とか、満員だったりで聞き逃したので、あとで読むシリーズ

こうやってまとめると、結局見たいのだらけだった感じだ。


疲れたし、長くなったので、2日目はまた別途書きます。

すっごい小さなところからOSSにコントリビュートした

以前、職場の人が、あるjsライブラリのGitHubリポジトリ

「nodeだけじゃなくて、bowerでもinstallできるようにしてくれよー」(英語)っていうissueをカジュアルに立てていて、

「気負わずにOSSにissue立てたりする姿勢尊敬しますー!」と言ったら、

Rubyのコミュニティとか参加してたら結構そういう人いるんじゃないですか?」と言われた。

「初心者向けのコミュニティ(よちよち.rb)ということもあって、やっぱりハードル高く感じちゃいますね。今Railsにコントリビュートしてるのは僕が知ってる限りだと2人です(※)」 と答えると、

「いや、Railsへのコントリビュートはレッドオーシャンなんで、もっと別のOSSをターゲットにしたほうがいいですよw」と言われたことがすごく心に残っていた。

「なるほど、コントリビュート○貞を捧げるのはRails以外が良さそうだな」とそれ以降思っていて、期せずしてそのチャンスが今月2回もあったっていう話。

※よちよちでRailsのコントリビュートしてるのは僕の知ってる限りだと @yuki3738 さんと @5t111111 さん。
@yuki3738 さんがコントリビュートした経緯はこちらに -> 新米エンジニアがRailsにコントリビュートした話 - スパイスな人生

つくって学ぶプログラミング言語

300近いはてブ数を集める、達人出版会から出ている「つくって学ぶプログラミング言語 RubyによるScheme処理系の実装」という本、実は前職の先輩が著者なので、わかんないことがあったら直接聞ける的安心感もあって、仲間内で読書会をやっていた。

たまたま、読書会中に @katorie さんが「本のとおりに書いていると動かないかも」という箇所を発見し、「PR出しましたよー」って僕から直接伝えられるメリットもあるなと思い、自分が本のGitHubリポジトリにPRを出す流れとなった。

とは言ってもコード的には、カンマを1つ消すだけなので1バイトの修正でしかない。

github.com

さらに言えば、リポジトリの管理者は知り合いなのであって、「初めて他人が管理するリポジトリにPR投げる」って意味では心理的ハードは最大限に低いはずなのだけれど、やっぱりPR送る瞬間はそれなりに緊張感があったw

そんな緊張とは裏腹にあっさりマージしていただいて、晴れて「つくって学ぶプログラミング言語 RubyによるScheme処理系の実装」のコントリビューター(と言っていいのだろうか??)になることができた。
少なくともGitHubのContributions Graphには載った。

f:id:highwide:20150729022204p:plain

autodoc

仕事でRuby 1.9系のAPIをいい加減2.x系にしたいねって話があって、それにあたってドキュメンテーションを改めてきちんと行った上で、Ver. up後の動きを確認したいねってことになった。

そこで、 r7kamura/autodoc が使えるかもって話になったものの、 autodocを bundle install したあとにテストが必ずErrorになる事態に陥った。

当然最初はgemを疑う前に、自分たちのAPを疑ったものの、どう見てもautodoc内のラムダあたりでsyntax error吐いてるしなぁと思い至る。

そこで試しに、vendor/bundle配下のautodoc gemを直接、 arrow記法が使われてたlambdaのsyntaxを -> から lambda に変えてみると動いた!

むむ、これは本格的にgemのラムダ周りが怪しいのかもしれないと思って、ググってたらとうとうこんな情報を見つけた。

ruby-journal.com

えええ〜、Ruby 1.9系と2.0系だと、 -> と引数の ( のあいだにスペースあると動かないの...マジで!?
と思いながらも、スペース消すだけだしなと思って、「プルリクチャンス」だと思うことにした。

ここも、r7kamuraさん、日本人だし、(あちらは僕のこと知らないけど)僕はRebuild.fmでrubotyとか作ってる人だって知ってるし...って感じで多少心理的ハードルは低かったように思う。

というわけで、7/27に出したPRを早々に7/28マージしていただいて、ご丁寧に CHANGELOG.mdthx @highwide とまで書いていただいた。(嬉しかった)

github.com

ただし、こちらもスペース消すだけなので、1バイトの修正w

そんなわけで

結果的に、7月はOSS2つに、計2バイトのコントリビュートができたw
ただし、単純なコントリビュートが常に善かというとそういうわけではなくて、OSSのメンテナさん的に「逆に対応がめんどい」みたいなこともあるらしいと聞いてはいる。
でも、そのへんの話はケースバイケースだったり、メンテナさんの考え方次第的なところもあるとは思う。
というわけで、個人的にはこんな感じで経験積んで、ときにはリジェクトされたりしながらも、使っているOSSにカジュアルな貢献ができるようになればいいとは思っている。

蛇足

autodocに出したPRがマージされた7/28が自分の誕生日で、ちょっといい誕生日になったなと思った。

VimでC-]が動かなかった

職場の方に
Vimでtagジャンプ使ってないんですか!?Vim使うなら絶対に使った方がいいですよ」 と言われたので、設定をいれた。
ところががタグジャンプを行うデフォルトのキーバインド 「Ctrl-]」が動かなかったのでちょっと苦戦した話。

OS X Yosemite(10.10.3) + iTerm2 + zsh でやってます。

結論

iTermのキーバインドとコンフリクトしてた。

詳細

まずはプロジェクトごとにtagつけてくれるツールをインストール。

brew install ctags

プロジェクトルートでタグづけ。

ctags -R

あとは、
Vim開いて、任意の変数やメソッドにカーソル合わせて「C-]」 押せばタグジャンプできるはず...!!!
が、動かない。

ただ、
「C-w, ]」でプレビューウィンドウでのtagジャンプはできるのでtag自体は生成できている模様。
とするのは、疑わしいはキーバインド

ところが、

と、確認しても「C-]」を何かに割り当てている様子はないように見える。
しばらくハマっていたのだけれど、ふとしたときにMacデフォルトのターミナルを使ってみたところ、問題なく動作!
というわけで、犯人はiTerm2だと判明。

振り返ってみると、お世話になりまくったこのページで、tmuxのpane移動に「C-]」を割り当てていることに気がついた。

【図解】ゼロから始めるモダンなコマンドライン環境作り #iTerm2 #tmux #zsh

僕は「C-b, o」でpane移動は慣れてきていたこともあり、iTermからは設定削除。
無事にタグジャンプできるようになった。
モダンなエディタやIDEなら当たり前なんだろうけど、すげー便利に感じた。

蛇足

いるかわからないし、どれくらい効果があるかけど、同じ症状になった人が検索でこのページにいつかたどり着けるよう、こんなこと書いておく。

  • Ctrl カーリーブラケット 動かない
  • Ctrl 波括弧 タグ ジャンプ しない
  • Ctrl curly bracket not work

自分の職場でよちよち.rbの活動をやった

4月に転職して早くも2ヶ月が経った。 コード書けなくて悔しい思いをしたり、やっとの思いをしてリリースができたりといった、 それなりに気持ち的に浮き沈みがありつつも、平均すればポジティブな気持ちで毎日を送っている。


今日は兼ねてより参加していたよちよち.rbにて、 勤め先であるリブセンスの場所を使えないかという打診が主催者のゆかおさんからあったので、 会場として、会社の会議室を提供することができた。 自分の環境を変えようと思ったきっかけでもあるコミュニティにささやかながら恩返しができるのは嬉しい。

様子↓

(つぶやいてもらった)


meetup内容としては、予定されていたRails Tutorialの輪読を行わずに、

  • Rails Tutorialの輪読これからも続けていく?
  • そもそもよちよち.rbのあり方って?

みたいな話をした。

個人的には毎週主催者のゆかおさんが休まずに継続しているからこそ価値あるコミュニティになっていると思うので、 ゆかおさんがモチベーション上がる何かの中で、参加者の皆が協力したり、学んだり、いい感じになれればいいと思う。