よっぽどのことがない限り更新しないブログ

システム開発の話、起業の話、ランニングの話などを、よっぽどのことがあれば更新していく

ランニングをはじめて変わったこと

去年の5月くらいからランニングをはじめた。
今は週6、毎朝時間を取って月200キロほど走っている。
本当にランナーとしてはまだまだ初心者なのだけど、始める前と「変わったね」と言われることも多くなったのでまとめてみる。

ランニングをはじめて変わったこと

ポジティブになった

家族にも、自身が経営している会社の社員にも言われる。
本当にポジティブになったねと。
そもそも自分は本当にネガティブな人間で、人の悪い点ばかりに目がいってしまっていた。
自分にも自信がなかったし。

起業してからだいぶ改善されたのだけど、走ってから更に前向きになった。
嫌なことがあっても「自分にはランニングがあるし!」と思えるようになった。
どんだけ上手くいかないことが多い日も、その日の朝には既にランニングを済ませていて、「前に進んでいる感」があるのでそんなに落ち込まなくなった。

話題が増えた

これも自分の中で大きいことかなーと思う。
今までは会話をするとき相手の話題に合わせることが多かったけど、心から好きなことが見つかったので話題にはしやすくなった。

また、去年は仕事の関係で人気バンドのメンバーと話す機会があった。
その方が毎日ストイックにランニングを続けていて、ランニングの話で少し盛り上がることができた。
ちなみに彼らはランニングに関する曲も出しているので、毎日それを聞きながらランニングしている。

体型が変わった

これも大きいかなー。
ランニングだけではないけど、体重は17キロ痩せた。
エストも20センチくらい下がった。

毎朝起きること、インターバルなどのきついトレーニング、怪我など大変なことも多い。
でもそれでも継続できる自分については、認めてあげられるというか、誇れるから継続できるのかなと思う。

起業して約2年が経った

ブログ名の通り、よっぽどのことがない限り更新しないのだけど、よっぽどのことがあった。

起業した、そして2年が経った。 最近は起業しろするな(引き抜くな)など論争があるけれど、1つの経験談としてだれか1人でも参考になればいいなと思う。

現在の状況

  • eishisという会社を2016年11月に立ち上げる。
  • 社員と役員(自分のみ)合わせて7名、業務委託やアルバイトの方合わせて15名ほど。
  • 受託開発がメイン。WebAR/VRの研究や自社サービスもいくつか出している。

なぜ起業したのか

色々あるけど、『好きな人たちと一緒に働きたかったから』が一番だと思う。
今は本当に自分が良いなーと思う人だけとしか働いていないので、毎日楽しい!
働き方の柔軟さ、仕事の楽しさ、雰囲気なども自分の理想の環境を実現できるという点も良い。

大変だったこと

もともとフリーランスだったけど、やはり人を雇うのと一人でやるのでは全く違う。
「社員を残業させない」ということを決めて守ってきたけど、この規模で守っていくのは本当に大変。
また一人ひとり当然悩みも色々あったりする。どんなに自分に余裕がなくても、社員と向き合うというのはしんどいこともある。
これはもう「覚悟」なんだろうなーと思う。

お金に関しても毎日キャッシュフローとにらめっこしている気がする。
毎月の給料日が怖いし、昇給もかなり大きい会社なのでそのたびにひえーってなる。
それでも頑張れるのは自分が決めた道だから、という覚悟なんだろうなーと。

起業に向いている人

多くの起業家の悩みはお金か人かに集約されるけど、中でも人に関する悩みが1番だと思う。
感じるのは、『人がとことん好き』か『人に興味がない』かのどちらなのかなと思う。
自分は圧倒的に前者で、従業員のことが大切すぎるから、どんな大変なことがあったり無茶言われても何とかできる。

ただ周りの起業家の人は良い意味でドライな人のほうが多い気がする。人の問題で喰らうダメージは少ないので、ある意味羨ましくもある。

今後目指すところ

IPOもバイアウトも全く興味がないので、今のまま楽しく、でもレベルは高い会社にしていきたい。
また人は大切にし続けていきたい。
従業員には「客観的に見てうちの会社を選び続けてもらえる会社にしたい」といつも言っている。
情で引き止めるのではなく、給与も仕事内容も働き方も、客観的に見てもうちの会社で働きたい、と思ってもらえるようにし続けていきたい。

今は離職者0だけど、とはいえこれから出てくるんだろうなぁ(そしてそのときは凹むんだろうなぁ)

Sierraにアップデートしたら急にsshでパスフレーズを聞かれるようになったときの対応

SierraにOSアップデートしたところ、sshパスフレーズを聞かれるようになった。
Enter passphrase for key mac
みたいな。

毎回打つのはかなり面倒だなーと思っていたら、こんな対処法を見つけた。

superuser.com

.ssh/config に以下を設定してあげればOKだった。

Host *
    UseKeychain yes

これはかなり助かった。

Mixpanelのautotrackでコーディングいらずでイベントをトラッキング

Mixpanelといえば、ユーザーの行動を記録し分析することができるツールです。 mixpanel.com

Google Analyticsがどんどん進化していますが、個人的にはここらへんがMixpanelの強みかなと考えています。

・Peopleと呼ばれる人にフォーカスした分析ができる

・特定のボタンを押したユーザーにプッシュ通知やメール送信など、ユーザーに対するマーケティングアクションを行うことができる

・サーバー側処理のイベントを記録することができる

そんなMixpanelですが、設定にはコードを埋め込むことが必要で柔軟な運用が難しいという欠点がありました。

例えばマーケティング担当者がちょっとしたボタンのクリックイベントを計測する為、わざわざチケットを切ってデザイナーに割り込みタスクを渡す必要がある等です。

そんなMixpanelですが、Googleタグマネージャーのようにコードいらずでイベントを設定できるautotrack機能が実装されました。

使い方は簡単。
まずApplicationからautotrackを選択します。
※他の便利なJQLやPredictはまた今度紹介します。 f:id:eishis:20161025000033p:plain

そして埋め込むプラットフォームを選択します。 f:id:eishis:20161025000031p:plain

Webの場合はURLを登録します。 f:id:eishis:20161025000028p:plain

そうするとそのURLのページが開き、トラックメニューが表示されます。 f:id:eishis:20161025000022p:plain

あとは埋め込みたいボタン等を選択し、イベント名を設定すれば完了です。
コーディングいらずでイベントが設定できました。

ちなみに、実はautotrackはイベントをずっと記録してくれており、設定前でもどれくらいクリックされたか計ることができます。

今まで作ったbotを10個

よっぽどのことがなかったので数ヶ月間放置してた。 最近はbotをよく趣味で開発しているので、自分の整理の為にもまとめてみる。 必要があればソースも公開する。基本はRubyでつくっている。

一時期ビジネス化も考えてたけど、やっぱりbotはエンジニアの趣味の域だよね〜という結論に達した。 チャットボットの批判記事とかあったけど、あの通りだと思う。

開発したbotはこんな感じ

1. 為替相場返してくれるbot

これはFacebookとLINEとSlackのbotで作った。 ドルとかユーロとか、あと南アフリカランドとかの円相場を返してくれる。 日本の為替相場APIが有料なものがほとんどな為、海外のものを使用している。 もちろん円→ユーロなんてAPIでもっていないので、円→ドル→ユーロという計算をさせている。

2. 株価返してくれるbot

これもFacebookとLINEとSlack。 これまた海外のAPIを使用。 企業名入れるとその日の株価を返してくれる。 APIリクエスト数をかなり消費したけど、謎に5年分のレコードを全て保存してある。

3. 天気返してくれるbot

これも海外のAPI使用。 まず入力された地名から座標のAPIを使って変換。 そしてその座標軸から天気のAPIにアクセスし取得という流れ。

4. メディアの最新記事を返してくれるbot

Slackだとデフォルトである機能。/feed コマンド。 これをFBとLINEにも加えた。 これはRSSを登録しておき、一定タイミングでクローリングし通知していないものがあれば通知という流れ。

5. Twitterの監視bot

Twitterのstreaming APIを使用。 Slackの通知に常に任意のキーワードで拾ったtweetが流れてくる。

6. タスクを登録できるbot

個人用に開発。@でメンション飛ばして、何をしたいかを伝えるとタスクを登録してくれる。 また完了時には、タスクが何分かかったかも計算してくれる。 毎朝、昨日にどのタスクを何分作業したかも通知してくれる。

7. trelloのステータス通知bot

これも個人用。 毎朝、期限がすぎているtrelloのタスク、すぎそうなtrelloのタスクを通知してくれる。

8. trelloの完了おめでとう的なbot

ゲーム要素を入れた。 trelloのタスクを完了させる(カードを移動)するとオリジナルのモンスターがゲットできるw 謎の自己満bot

9. 検索順位を教えてくれるbot

任意のキーワードで任意のURLが検索で何位か教えてくれるbot。 地味に役立つ。

10. Mixpanelで特定のイベントが発生したら通知してくれるbot

一気に業務感。 特定のイベント完了したらwebhookが発動。 botで教えてくれる。


こんな感じです!

WordPressで特定のカテゴリのアイキャッチを全て削除するバッチ処理

WordPressの案件で、今あるアイキャッチ画像を全て削除し、他の画像データ群に置き換える必要が出てきた。
アイキャッチが割り当てられている投稿が10万件近くある為、バッチ処理で行うことに。

備忘録的に残す。というかWordPressバッチ処理の日本語記事、少なすぎじゃないかなと思うのでこれから残していく。  

batch.php

<?php
require_once('wp-load.php');
require_once('wp-config.php');

// 特定のカテゴリを選択
$category_id = get_cat_ID('牛脂');

$results = $wpdb->get_results("
    SELECT *
    FROM wp_postmeta
    WHERE post_id in 
      (SELECT object_id FROM wp_term_relationships WHERE term_taxonomy_id = 
        (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = $category_id)
      )
    AND meta_key = '_thumbnail_id'
");

foreach ($results as $value) {
  delete_post_meta($value->post_id, '_thumbnail_id');
}
?>

実行方法

これをphp batch.phpといった具合で実行してあげればOK。
副々問い合わせなのでちょっと冗長かな。

feedlyをやめてslackに通知するようにした。やっぱりslackすごいという話。

今までの情報収集

自分の興味あるニュース、技術情報、運用しているサービスのGoogle Alertなどをfeedlyに取り込んでいた。
ただ、どうしても毎日feedlyを立ち上げることができず見落とすこともしばしば。。
そうしているうちに未読が溜まっていき、ますます見ないようになっていた。

feedly.com

一番身近なツールに集約しよう

この問題をどうしようかと考えたときに、「一番身近なツールに情報収集を集約しよう」と考えた。 それが仕事でも使うslackだった。 slackのfeed登録は簡単。このコマンドをfeed登録したいチャンネルで打つだけ。
/feed 登録したいRSSのURL f:id:eishis:20160306195641p:plain

RSSのURLがわからない人はこんなサイトを使うと良いだろう。

RSSフィード取得・検出ツール - RSSリスティング

ちなみにGoogle Alertで特定のキーワードで抽出したい方はこんな感じ。
/feed/ https://www.google.co.jp/alerts/feeds/xxxx
まずGoogle Alertにアクセス。
Google アラート - ウェブ上の面白い新着コンテンツをチェック

f:id:eishis:20160306204345p:plain
最後のどこに飛ばすかという設定をRSSにして保存すればOK。
RSSのアイコンが出るので、クリックしたそのURLを保存してslackに登録するだけ。

そしてはてブの記事登録はこんな感じ。
/feed http://b.hatena.ne.jp/search/text?q=牛脂&mode=rss

他にもはてブ数〜個以上のものだけ集めるなど色々できる。

はてなブックマークドキュメント一覧 - Hatena Developer Center

確認するには

/feed listで登録しているfeedを表示してくれる。

予定も登録しよう

あとカレンダーも登録しておくと便利。
リマインダをチャンネルに投稿してくれる。

slack.com

やり方はとてもシンプル。ここからGoogleアカウントと連携し投稿するチャンネル、どれくらい前に投稿するかを選ぶだけ。

slackの何がすごいか

ここからは個人的な感覚。
メール、トークアプリ、SNS、タスク管理ツールなど様々なアプリケーションが乱立している。
これら全てにユーザーが一次のタッチポイントとして接触していくと大変。
そもそも不要な情報も多いのだから。 f:id:eishis:20160306211445p:plain
※雑なイメージ図。

slackは裏で動く全てのアプリケーションのタッチポイントアプリケーションにすることができる。
一旦slackに集約し、必要だと思った情報にだけアクセスするようにすれば良い。 f:id:eishis:20160306211642j:plain 更にこの後ろにIFTTTやZapierのようなAPIアグリケーションサービスを置くことで、より世界が広がる。

ifttt.com

The best apps. Better together. - Zapier

つまり、情報収集まで社内ツールまで、増えすぎる情報に対し一次のタッチポイントとしてライトに情報を集めるツールとして非常にslackは優秀なのだと思う。

slackで苦手なこと

よく言われることだけど、ストック型の情報とフロー型の情報がある。
slackはスレッドが流れやすいのでフロー型、つまり通知や一時的なコミュニケーションは得意。
ただ固めた仕様のようなストック型情報もslackで管理すると「あれ、どこいったっけ」が頻発する。
ここらへんのストック情報だけはスプレッドシートGithubのissueやwikiなどに保存すると良いだろう。

まとめ

  • feedやカレンダーは簡単にslackと連携できる。
  • slackは一次タッチポイントツールとして優秀。どんどんアプリケーションと連携し、チャンネルは分けながらもフロー型情報を流し込むと良い。
  • フロー情報はslackは使わないほうが良い。埋もれて「あれどこいったっけ」が発生する。

slack本当にすごい!でも何だかんだインタフェースも使い勝手も開発寄りなので、開発以外のビジネスの現場ではそこまで広がらないだろうなーと思う。