読者です 読者をやめる 読者になる 読者になる

Shoken Startup Blog

KitchHike Founder/CTO

"デザインとは" で検索した記事の筆者に会いに行った3年前、僕はデザイナーの探し方がわからなかった

3年前の自分に伝えたいデザイナーの探し方

3年前の2014年3月、 KitchHike をローンチして1年がたった僕らはデザイナーを探していた。いままでWeb制作業界とは縁がなかったので、どうやってデザイナーと知り合うのか、そもそもどこにいるのかわからず、途方に暮れていた。デザイナーが見つからなすぎて、もう自分でデザインを勉強するしか無いと思い、やみくもにGoogleで “デザインとは” と検索した時、1つの記事を見つけた。それはデザインの基本をわかりやすく説明した記事だった。こんな記事を書くデザイナーが仲間にいてくれたらどんなに心強いだろう、と何度も思いながら記事を読んだのを覚えている。気がついたら記事の著者にメールを送っていた。(当時は直接メールで連絡を取ることしか思いつかなかったようだ。)

ダメもとで送ったメールには信じられないくらい丁寧な返信があった。何日か後に、WindowsのノートPC片手に渋谷に現れたのは、2週間後に卒業予定の大学生で、その時はMacも開発経験も持ってなかったが、デザインへの、そして何かを作らずにはいられない情熱を持っているように感じた。

数日後、渋谷のヤマダ電機にいっしょに Mac を買いに行った。(MacBook Airをすすめたのに、固くなにMacBook Proにこだわって、結局 MacBook Pro を買った。)エンジニアではないのに、Terminalの黒い画面に抵抗が無いことが印象的だった。なので、git, rails, sassの覚えはとても早かった。

ただ、そのころの僕らには、新卒からデザイナーを育てるリソースも仕組みもなかった。

大学生はどこにも就職せずにフリーランスの道を選んだ。充分なフィーはまったく払えてなかったが、それでもデザイナーとして、ときどきスポットで手伝ってくれた。3年間で、3つのプロダクトに関わってもらい、世の中にリリースした。その間に、彼女は自分で探してきたフリーランス案件で生活費を得るかたわら、OSSコミュニティで活動し、書籍を出版し、npmでインストールできるオープンソースフォントをGitHubで公開していた。

出会ってから3年後の2017年3月、ちょうど同じ日に2人で話をした。場所は渋谷から上野に変わっていたけど、彼女の、情熱をやさしく包みこんだ信念に満ちた瞳は、3年前と変わっていなかった。

3年前、KitchHikeはローンチから1年たっていた。これから仲間になってくれるデザイナーを探すのは遅すぎるんじゃないか、と当時は悩んでいた。やみくもに探しても見つからないのでは、と先の見えない状況の中で何度も不安になった。ただ、なぜだかわからないけど、理想のデザイナーは必ず自分で見つけて仲間にするんだ、という強い信念のもと、専任のデザイナー無しでここまでがんばってきた。もし3年前に戻れるなら、

「何かをやるのに遅すぎることはない。未来で必ず実を結ぶから、今すぐアクションをおこせ。」

と伝えたい。そして、それは同時に3年後の未来の自分からのメッセージだとも思っている。



ふとGoogleで “デザインとは” で検索してみる。1番目にヒットしたのは、3年前に大学生が書いた記事だった。

でもそれも昨日までの話。



今日2017年4月1日からは、8人目の仲間となった、 “KitchHikeのデザイナー” が3年前に書いた記事、になるよ。

f:id:sfujisak:20170328115018j:plain

KitchHike オフィスで撮影

Wantedlyに投稿しました。 叩くべきは木魚ではなくエンターキー。お寺生まれのCTOが出家と家出の狭間で、ついに見つけた自分がやるべきこと。

この文章、インタビュー形式なんですが、セルフインタビューとして全部自分で書いてます。実は、第一稿から内容を練ること3ヶ月、ようやく公開となった力作です。年越してます。

以下のような構成になっています。それぞれの書き出しを引用します。

生まれてからお寺を出るまで

実家がお寺で父親がお坊さんという一般的な家庭で育ったため、普通に生きていきたいと思っている将来の夢はサラリーマンという少年でした。

大学卒業から会社員へ

その後大学に戻り、これまでの反省を活かして勉学に取り組んだ結果、順調に単位を取得し8年で卒業した後、お寺には戻らないことを決めて実家と連絡を絶ちました。

卒業後、これまでの経験を活かすために大手企業のエンジニア職へ。お寺では死について学んでいたのでプログラミングはC言語から始めました。

KitchHikeを始めた理由

2012年、のちにKitchHikeの共同創業者となる山本雅也と出会います。雅也と出会ってしばらくして、KitchHikeというアイデアが生まれました。

これからの世界、とくにインターネットについて思うこと

20年後に、「あの世代はわかっていなかった」と言われないために今やるべきことは何だろう、と考えています。時代は、かつてこの世界に生きた人たちが経験しなかった未知の領域に入っていきます。ある歴史の、特別な曲がり角に入ったところと表現できるかもしれません。曲がり角の出口が近いのか、遠いのかはまだ誰にもわからないくらい、時代は深くなっています。

まとめ

自分自身がやりたいことはお寺の本堂にはありませんでした。

時にはまっすぐに目の前のものに取り組むことや、回り道に見えてもまったく違う世界に飛び込んでみることも長期的な視点では大切だと思います。それはブリコラージュの断片となり得るからです。

もし気になった人は読んでみてください。

www.wantedly.com

理想のMac用メールクライアントを求めてSpark for Macを使ってみた

Sparrow, Mailbox, Nylas, Airmail と使ってきたが、去年の12月にSpark for Macがリリースされたので使ってみた。iOSアプリ版と同じく、Macアプリ版も無料でリリースされた。

今年の目標の1つは、生産性。チーム内ではSlackでのコミュニケーションが多くなったとはいえ、外部とのやりとりではメールを使っている。メール業務が改善されることは生産性が上がることになる。いままで使っていた時間が10分でも少なくなれば、2ヶ月半で8時間空くし、しかもそれがずっと続くと考えると業務改善は積極的に取り組んでいて損のない投資である。

導入は見送った

先に結論を書くと、今回は導入を見送ることになった。後述するショートカットキーの不具合が自分にとっては致命的だったからだ。ただ、ショートカットキーが使えるようになったらすぐに本格的に使いたいと思えるメールクライアントだった。

Spark for Mac の感想

Snooze機能は問題なし

直前まで使っていたメールクライアントは Airmail。メールはGmail。Snooze機能を使っていたが、SparkにもSnooze機能はあるので問題無し。ただ、AirmailでSnoozeしたメールは引き継がれなかった。GmailのメールクライアントとしてAirmailを使っていると、SnoozeはGmailのLabel "[airmail]-snooze" で管理される。受信トレイに戻したいときは、Gmailからlabel:[airmail]-snoozeで検索して、全部のメールを選択後に受信トレイに移動すれば良い。

署名の提案は未来を感じる

Sparkの独自機能である、メール送信時によく使っている署名を選択できるのは未来を感じる。署名は既存のメールから推測されるようだ。メールで使う文章なんて限られているので、署名に限らず、既存のメールを文章を解析してどんどん定型文などの文章候補を出してほしい。こんなメールには今までこんな風に返信していますね?というのは今の技術で過去のメールを分析すればできると思う。それこそ、DNNを使った機械学習で自動返信はできないものか。サンプル数が少なすぎるか。

他にもSmart Notificationsという重要なメールのみ通知する機能があるらしいが、こういった"Smart"な機能はどんどん追加していってほしい。メールはもっと楽になるはず。

iOSアプリとの連携

SparkはiOSアプリからリリースされた後にMacアプリがリリースされた。なので、iOSアプリとの連携が特徴の一つらしい。例えば、Snooze機能では、"重要なメールを全てのAppleバイスで再度通知してくれる" らしいが、これはまだ使っていない。iPhoneで既読にしてしまってそのまま埋もれてしまうメールがたまにあるので、iOSアプリとの連携は期待。

Spark for Mac の不具合?

自分の環境だけかもしれないが、ショートカットキーが使えない。設定からショートカットキーのパターンを設定できる画面があるのだけど、どれを選択しても動かないようだ。そもそもデフォルトで設定されているショートカットキーである"J", "K"が反応しない。業務改善のために入れたのに、ショートカットキーが使えないのは痛すぎる。こんな時にオープンソースだったらissueやソースコードで確認できるんだけど、今回はそれもできない。

まとめ

今回は自分にとって致命的であるショートカットキーの不具合で導入は見送ることになったが、機能的には申し分ないし、これからの機能追加が楽しみなメールクライアントである。とくにSmart機能はどんどんと改良していって、重要なメールは見落とさずに、返信が必要なメールはすぐに返信できるようになって欲しい。

Spark for Mac は以下の公式サイトから無料でダウンロードできます。

sparkmailapp.com

KitchHike Tech Blogを始めた

2017年の始まりと同時に、KitchHikeプロダクトチームの技術ブログを始めた。

tech.kitchhike.com

技術ブログを始めるにあたって、個人ブログを書き始めたのはいつだったか遡ってみると、ちょうど10年前くらいだった。たしか、その当時は MT(Movable Type) が流行っていて、大学の研究室のサーバーにインストールしてブログを書いていた。その後、「へんな会社」のつくり方 というはてなを作った近藤さんの本を読んで感銘を受けてはてなブログに移ったことが、このブログの最初のエントリーとして残っている。それが2007年5月。

shoken.hatenablog.com

技術ブログの記事は、ある程度サービスの開発経験がある人でも読んで得るものがあるようなクオリティを目指して書いていきたい。KitchHikeの開発と運用を通して、現場からの課題やメンバーの取り組みを記事に残していきます。

生産性とアウトプット

2017年の目標として、この2つにこだわっていきたい。

  1. 生産性を上げることにこだわる
  2. アウトプットを出すことにこだわる

1の生産性については、自動化や評判の良いツールを積極的に普段使いに取り込んでいく。まず新年1発目として、Mac OS をSierraにあげた。 OS は様々なソフトウェアに影響する基本ソフトなので、積極的に最新版を使っていく。ただ、大きく発表されていた新機能のほとんどは、自分が使う範囲ではあまり恩恵無し。Picture in Picture がおもしろいくらいか。

生産性といえば、去年の秋頃に導入した tmux は非常に効果的だった。ターミナルやエディタのように、長時間使うツールはどんどん評判の良いものを試していきたい。初期学習に多少時間がかかっても、これから数年間使うことを考えると十分リターンがある投資になる。次は、年始の休み中にzshを試してみようと思う。

2のアウトプットは、プロダクトももちろんだが、ブログ記事や外部への発表、OSSへのコミットにも力を入れていきたい。特にブログ記事は、冒頭でも書いたが10年前から書いてきて、数年前の記事にブクマされるということは良くある。記事を書くのは時間がかかるが、一度書いた記事は利子を生みだす。数年で考えるとこちらも非常にリターンが確実な投資になる。

ところで、Facebookで使われている言葉で、 “Shut the fuck up and write some code” というのがあって、ゆーすけべーさんが “グダグダ言ってないでコードかけよ、ハゲ” という日本語に訳されていた。 これを受けて、小飼弾さんが、

だけどそれ以上に大事(だいじ|おおごと)かつ小事(しょうじ|こごと)だと私が感じているのは、作品を表に出す事。

404 Blog Not Found:Don't be shy and show your code - 紹介 - Webサービスのつくり方

と言われている。

エンジニアの作品はプロダクトであり、今の時代ならOSSとして表に出すのが良いだろう。去年は知人のオープンソースフォントをRailsで簡単にインストールできるようにgem化した。

github.com

引き続きgemのメンテナンスを続けながら、自分のプロダクトもいくつか表に出していくことが今年の目標。(このオープンソースフォントの作者は、いまKitchHikeのWebデザインを担当してもらっている。)

まとめ

もちろん、自分の本業は KitchHike のCTOであり、いまどんどん増えている社員と一緒に全力で取り組んでいく。しかし、本業のみを行なっていても、技術的向上やアウトプットによる物事の整理と理解がなければ、どこかで限界を感じてしまうだろう。 KitchHike の成長と同時に、自身も成長していかなければならない。

本業を1の生産性を上げることで効率的に行い、2のアウトプットの時間を捻出する。それが今年の目標。

さあ、2017年、がんばるぞー!

brewでのNeoVimインストールでエラー /usr/local/Library/ENV/4.3/sed: No such file or directory

f:id:sfujisak:20160717201904p:plain

HomebrewでのNeoVimのインストールでハマったのでメモ。

結論

libtool を再インストールすると、エラーが出なくなりインストールできるようになった。

brew update
brew reinstall -s libtool
brew install neovim/neovim/neovim

環境

  • Mac OS X El Capitan 10.11.5
  • NeoVim 0.1.4
  • Homebrew 0.9.9 (git revision 2633f; last commit 2016-07-17)

brew install neovim/neovim/neovim でエラー

homebrew-neovim/README.md at master · neovim/homebrew-neovim を参考にHomebrewからNeoVimをインストールしようとすると、 /usr/local/Library/ENV/4.3/sed: No such file or directory が出てコンパイルに失敗する。

sfmba13:~ fujisaki$ brew install neovim/neovim/neovim
==> Installing neovim from neovim/neovim
==> Downloading https://github.com/neovim/neovim/archive/v0.1.4.tar.gz
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim-0.1.4.tar.gz
==> Downloading https://github.com/libuv/libuv/archive/v1.8.0.tar.gz
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--libuv-1.8.0.tar.gz
==> Downloading https://github.com/msgpack/msgpack-c/archive/cpp-1.0.0.tar.gz
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--msgpack-1.0.0.tar.gz
==> Downloading https://raw.githubusercontent.com/neovim/deps/master/opt/LuaJIT-2.0.4.tar.gz
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--luajit-2.0.4.tar.gz
==> Downloading https://github.com/keplerproject/luarocks/archive/5d8a16526573b36d5b22aa7486612
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--luarocks-998466697.tar.gz
==> Downloading https://github.com/mauke/unibilium/archive/v1.2.0.tar.gz
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--unibilium-1.2.0.tar.gz
==> Downloading http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.18.tar.gz
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--libtermkey-0.18.tar.gz
==> Downloading https://github.com/neovim/libvterm/archive/1b745d29d45623aa8d22a7b9288c7b0e331c
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--libvterm-7088.tar.gz
==> Downloading https://github.com/jemalloc/jemalloc/releases/download/4.0.2/jemalloc-4.0.2.tar
Already downloaded: /Users/fujisaki/Library/Caches/Homebrew/neovim--jemalloc-4.0.2.tar.bz2
==> Building third-party dependencies.
==> cmake ../third-party -DUSE_BUNDLED_BUSTED=OFF -DUSE_BUNDLED_LUV=OFF -DUSE_EXISTING_SRC_DIR=
==> make VERBOSE=1
Last 15 lines from /Users/fujisaki/Library/Logs/Homebrew/neovim/02.make:
/usr/local/Cellar/cmake/3.5.2/bin/cmake -E touch /tmp/neovim-20160717-18509-l1153s/neovim-0.1.4/deps-build/build/src/unibilium-stamp/unibilium-update
[ 19%] No configure step for 'unibilium'
cd /tmp/neovim-20160717-18509-l1153s/neovim-0.1.4/deps-build/build/src/unibilium && /usr/local/Cellar/cmake/3.5.2/bin/cmake -E echo_append
cd /tmp/neovim-20160717-18509-l1153s/neovim-0.1.4/deps-build/build/src/unibilium && /usr/local/Cellar/cmake/3.5.2/bin/cmake -E touch /tmp/neovim-20160717-18509-l1153s/neovim-0.1.4/deps-build/build/src/unibilium-stamp/unibilium-configure
[ 21%] Performing build step for 'unibilium'
cd /tmp/neovim-20160717-18509-l1153s/neovim-0.1.4/deps-build/build/src/unibilium && /Applications/Xcode.app/Contents/Developer/usr/bin/make CC=/usr/local/Library/Homebrew/shims/super/clang PREFIX=/tmp/neovim-20160717-18509-l1153s/neovim-0.1.4/deps-build/usr CFLAGS=-fPIC
glibtool --mode=compile --tag=CC /usr/local/Library/Homebrew/shims/super/clang -I. -Wall -std=c99 -fPIC  -o unibilium.lo -c unibilium.c
/usr/local/opt/libtool/bin/glibtool: line 923: /usr/local/Library/ENV/4.3/sed: No such file or directory
/usr/local/opt/libtool/bin/glibtool: line 1378: /usr/local/Library/ENV/4.3/sed: No such file or directory
/usr/local/opt/libtool/bin/glibtool: line 1274: /usr/local/Library/ENV/4.3/sed: No such file or directory
:   error: Failed to create '.libs'
make[3]: *** [unibilium.lo] Error 1
make[2]: *** [build/src/unibilium-stamp/unibilium-build] Error 2
make[1]: *** [CMakeFiles/unibilium.dir/all] Error 2
make: *** [all] Error 2

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
  https://github.com/neovim/homebrew-neovim/issues

These open issues may also help:
Neovim Fails to Install on Standalone Linuxbrew: libmsgpack.so Error https://github.com/neovim/homebrew-neovim/issues/156
 Neovim failing to build with homebrew on OS X 10.9.5  https://github.com/neovim/homebrew-neovim/issues/153
Can't install via homebrew-neovim if luarocks path is set explicitly https://github.com/neovim/homebrew-neovim/issues/149
Error when trying to install neovim in my Ubuntu 14.04 virtual machine. https://github.com/neovim/homebrew-neovim/issues/134

libtoolを再インストールする

GitHubのneovim/homebrew-neovimリポジトリに、類似のissueがあった。

neovim 0.1.4 fails on OSX 10.11.5 due to glibtool (SOLVED) · Issue #166 · neovim/homebrew-neovim

読むと、次のissueと似ているから試せと書いてある。

Fails to install on RHEL7 via Linuxbrew (SOLVED: brew reinstall -s libtool) · Issue #164 · neovim/homebrew-neovim

issueコメント通りに libtool をHomebrewで再インストールすることで、NeoVimのインストールが成功するようになった!

Google検索よりもGitHubリポジトリでissue検索

エラーをGoogleで検索すると、

fontforge fails to install, because glibtoolize doesn't respect Homebrew's Library location · Issue #43874 · Homebrew/legacy-homebrew

などが引っかかる。同じ libtool のエラーなのだけど、修正方法はneovim/homebrew-neovimリポジトリのissueに登録してあったものが一番スマートだった。

エラーが出た場合はGoogleで検索するよりも、リポジトリのissue検索が有効。