鶏口牛後

神奈川の自宅でソフトウェア開発をする一人親方のブログです。

第03回てくてく勉強会に参加しました

先日、第03回てくてく勉強会に参加してきました。

tekutekuteku.connpass.com

テーマは機械学習

あらためて言うまでもありませんが、機械学習は最も注目されている技術の一つです。

かのエリックシュミットも機械学習について、下記のように言及しています。

“5年後には大型IPOの成功はすべて機械学習によってもたらされるだろう”(by Eric Schmidt)

www.businessinsider.com

てくてく勉強会

タイムテーブルはこんな感じ。

他己紹介

自己紹介じゃなくて、他己紹介が毎回あって、隣になった者同士でペアになってお互いの紹介をします。 僕はてくてく勉強会で初めて他己紹介を知りましたが、3回目ともなるとだんだんコツが分かってきた気がしてます。

もくもく会

他己紹介のときに、発表した今日の目標に沿って黙々と作業します。 僕はというと今回は普通に仕事しちゃいましたw

発表

今回は、主催の我妻さん(Yukinaga Azuma (@yuky_az) | Twitter)による「機械学習を用いた株価分析」についてのお話でした。 我妻さんは、2016年末から「みんなのAI講座」というオンライン講座の講師もされています。

www.udemy.com

僕も受講しましたが、初心者向けとしては簡単すぎず難しすぎず、何度も復習したくなる内容ですので、幅広くお勧めできます。

機械学習の学習について

ここ半年くらいプライベートの時間を使って、勉強会やワークショップに参加してきましたが、正直、身についているなという実感を得られずにいます。

正直、簡単じゃない(少なくても僕には)

前述の「みんなのAI講座」のカリキュラムを見てみます。

  • セクション 1: コースと人工知能の概要
  • セクション 2: 準備
  • セクション 3: Pythonの基礎

までは、何の問題もないかと思いますが、セクション 4: 必要な数学の学習の概要を見てみると、難しい数学の用語がビシバシ出てきます。

中学レベルの数学ではなく、高校以上の数学です。

前回の投稿でも書きましたが、2017年は数学検定2級(高校2年生レベル)の合格を目指して数学を勉強し直そうと思っています。

ソフトウェアエンジニアリングの円熟化

僕が社会人になった1999年から2017年までにエンジニアの周りで起こったことをキーワードで列挙してみます。

昔話は長くなってしまうので、要点だけ。

  • 昔は開発環境とか優れたプラクティスとか色々足りなくて、整ってなかった中で、人力でカバーすることが多かった
  • 技術や環境がオープン化することで、エンジニアになる敷居は格段に下がった
  • 一方でベテランのエンジニアが生き残るためには、高度な技術、広範囲な知識・経験の両方が問われる
  • 機械学習にしても、VRにしても、習得するには前提知識と相応の時間が必要

仕事の中で身につけられることは限られている

机の上で勉強したことは簡単に忘れるが、仕事の中で得た知識や経験は簡単には失われずその人の血となり肉となる。 仕事の中で機械学習に触れるのが最も近道だが、そのチャンスを得られるエンジニアは限られている。

2017年は要素技術の認定資格をとったり、何か人に見せられるものを作ったりして、そのチャンスを得るために技術を蓄える年にする。

機械学習に限らず何事もですが、諦めずに焦らずにじっくりと取り組んでいきましょう。

ではでは。

2017年の目標を決めました

2017年も21日目を迎えてしまいましたが、今年の目標を決めましたので、後に引けないように公言しておこうと思います。

運動

ランニング

2016年の9月頃から朝食前に4km走ってます。

3月の「第6回 日産ふれあいロードレース」に「10km:男子(一般)」にエントリーしました。

www.nissan-global.com

ここまでは通過点で、最終的には「湘南国際マラソン」の「ハーフマラソン」を完走することを目標にします。

湘南国際マラソン - Shonan International Marathon

バスケット

サッカー部の長男が黒子のバスケの影響で、バスケにハマり、元々バスケ好きの中年を叩き起こしてくれました。 昨年はBリーグが開幕して、平塚でも試合をやることがあるので、今年は平塚でやるB1の試合は全て観に行くことを目標にします。

昨年、観に行った川崎ブレイブサンダースの試合の動画 www.instagram.com

直近の日程は、下記のとおり。

平塚でやる試合が少ないので、普段はスポナビライブで見逃した試合を見たりしてます。

Bリーグ1部 - スポナビライブ

勉強

文系学部出身ということもあり、数学に苦手意識があるので、中学生レベルからやり直し始めました。

f:id:imunew:20170121105428j:plain

これにも目標設定が必要なので、数学検定の2級合格を2017年の目標にします。

各階級の概要・検定の内容 | 実用数学技能検定(数学検定・算数検定)

プログラミング、ソフトウェア開発

何を目標にしようか悩みましたが、Qiitaの投稿数を100にすることを目標にします。

imunew - Qiita

2017/1/21現在、36itemsなので、残り64投稿。 残り約11ヶ月ですので、1ヶ月5〜6本のペースになります。

頑張ろうっと。

生活

最後に生活の話。

とはいえ、あまり生々しいことは書けないのですが、1ヶ月仕事しなくても生活していけるように貯蓄をすることを目標にします。

ではでは。

完結:Google Cloud Support との $75.40 をめぐるやりとり

12月は勉強会やら忘年会やらで外出が多く、中々ブログを更新できていなかったですが、生活のリズムを整えて、週1本くらいはエントリーしたいと思います。

はじめに

さて、今回ですが、以前投稿した「Google Cloud Support との $75.40 をめぐるやりとり」の完結篇です。

imunew.hatenablog.com

払い戻しが確認できない

11月19日に払い戻し完了の連絡をGoogleから受け取ってから、クレジットカードのオンライン明細にいつまでたっても払い戻しの金額が反映されません。
だんだん不安になってきたので、再びCloud Console Billing Support Request Formから問い合わせをしました。

12月15日

問い合わせから数日して下記の回答がありました。

Thank you for contacting Google Cloud Billing. 
My name is xxxxx. 
I understand that you would simply like to confirm that your refund processed for a previous case was successfully applied.

I have checked your billing account and can confirm that the refund worth of $81.43 has been approved and properly processed on our end for the Visa card ending with xxxx on November 17, 2016. 
Had the refund failed to’ve been processed even after being approved, we will have the capability to see it as part of your billing account notes. 
I have checked on this using all tools available to me and I have also asked for the help of one of our specialists. 
We did not see a record for a failed application of your refund. 
Also, please take note that from the day it was approved, it may take up to 30 business days for this to be returned to your card.

What you can do now is call the bank who issued your card for them to check if a refund has been applied to your account even if it is not made visible on your card statement. They should be able to look this up for you.

I hope this information helps. I'll mark this case as resolved on the next business day. 
Feel free to open a new case should you have any other billing questions in the future or to respond back in the next 24 hours if you have follow-up questions regarding the topic. 
Thank you and please enjoy the rest of your day.

要約すると、

  • 払い戻しに失敗したという記録は見つからなかった
  • 払い戻し金額がカードに反映されるまでに最大30営業日かかる
  • カード会社に問い合わせしてくれ

と、そういうことでした。

払い戻しを確認

12月21日

クレジットカード会社に電話で問い合わせしたところ、12月の請求額から調整額という形で払い戻し金額を控除しているとのこと。
オペレーターに言われたとおりに、オンライン明細を確認すると、確かに下記のように請求額から払い戻し金額が引かれていました。

f:id:imunew:20161221110204p:plain

おわりに

これで一安心なわけですが、特殊なケースとはいえ、調整額の説明が請求書上何もないというのは何というか分かりづらかったですね。
とはいえ、これからもGCPとオリコカードはガンガン利用していきますんで、よろしくお願いしますw

f:id:imunew:20161221110220j:plain
画像元:http://www.orico.co.jp/cm/media/

では、また。

Google Cloud Support との $75.40 をめぐるやりとり

はじめに

つい先日、東京リージョンが開設されて、ますます注目されるGoogle Cloud Platformを勉強がてら触っていて、うっかり、$75.40 課金されてしまったところから、Googleのサポートチームとメールでのやりとりが始まります。

Billing Alert 突き抜ける

無料利用枠の$300とGCP Nextでもらったクーポンコードあわせて合計 $500あったので、すぐに突き抜けることは無いだろうとは思っていました。

予算を10$に設定していたところ、ある日、下記のメールが送られてきました。

f:id:imunew:20161119095330p:plain

メールを見たときは、「まぁまぁ、今いろいろ停止すれば、11$とかで済むでしょうと」甘く考えてました。

しかし、明細を確認して驚きます。

f:id:imunew:20161119101516p:plain

ん?! $75.40 ? なんだなんだ?

あー、Cloud Bigtable が 497.052 時間で、$323.08ってクソ高いー

Cloud Bigtable

エンジニアとしては本当に恥ずかしい話なんですが、Cloud Bigtableインスタンスを作成して起動しっぱなしにしてたわけです。 Cloud Bigtableの料金を確認すると、1時間あたり $0.65かかる計算なので、497.052 時間で $323.08 となります。

メールでのやりとり

何とかキャンセルできないかと、ダメ元で問い合わせしたところ、問い合わせた先が営業とかマーケティングのチームだったらしく、あらためて、Cloud Console Billing Support Request Form に問い合わせするよう言われました。

Google翻訳を駆使して、片言の英語で問い合わせました。

I did not stop 'Cloud Bigtable' instance carelessly.
So, as a result, $75.40 was billed.
I did start only, I did not use 'Cloud Bigtable' instance.
Please cancel this billed.

いいんです。伝わればw

ここから、Google Cloud Platform Supportとのやりとりが始まります。

10月28日

Hi Motohiro,

Thank you for contacting the Google Cloud Billing team. 
I understand that you’ve started Cloud Bigtable instance but didn't use it and carelessly didn't stop it. 
As a result you were billed $75.40 and you want to have it removed from your billing account. 
My name is Chris and I’m here to assist you.

I am currently investigating your case and I will get back to you within 24 hours. 
If you have further inquiry regarding your concern please feel free to reply to this email and I will gladly assist you.

Sincerely,

*****
Google Cloud Platform Support

(担当者の名前は伏せておきます。)

どうやら、伝わったようです。

親切で丁寧な文面に期待がもてます。

しかし、まあ、ここから時間がかかります。

10月29日

Hello Motohiro,

Thank you for giving me time check this case.

After further investigation on your case, you need to confirm that you have stopped or deleted[1] the Cloud Bigtable instance to prevent it from accruing unwanted charges.

I will leave this case open for 2 business days waiting for your response.

Sincerely,

*****
Google Cloud Platform Support

[1] https://cloud.google.com/bigtable/docs/deleting-instance

Cloud Bigtableインスタンスは不要なら停止して削除しておいてね、と。

いやいや、それはとっくにやってますよということで、メールを返しておきます。

Hello *****,

Thank you for investigation.

> you need to confirm that you have stopped or deleted[1] the Cloud Bigtable instance to prevent it from accruing unwanted charges.
Yes, I stopped and deleted the Cloud Bigtable instance, when I noticed billing alert.
But It was too late when I noticed.

I hope $75.40 to be removed from my billing account.

Regards,

10月30日

担当者が不在ということで、別の担当者がメールを送ってきました。

Hello  Motohiro,

Thank you for your response. 
I am taking over your case temporarily since ***** is out of the office. 
Upon reviewing our system your account has been cancelled. 
However, for the charge of $ 75.40 please send us a screenshot of the charge in question so we can check the account for you.

We’ll wait for your answer. 
In the meantime I’ll keep this case open for two business days awaiting for your reply. 
Should you find any questions or concerns related to this matter please feel free to send me an email.

Sincerely,

******
Google Cloud Platform Support

10月31日

$ 75.40 の明細が分かるように、スクリーンショットを送ってくれとのことで、スクリーンショットと明細のPDFを送りました。

Hello ******,

Thank you for your response.
I attached the screenshot of the charge and a invoice.
Payment has occurred on October 29, so please cancel as soon as possible.

Regards,

10月の支払金額が確定してしまっていたので、できるだけ早くキャンセルしてくれと懇願しました。

11月3日

Hello  Motohiro,

Thank you for your message.

I am currently working on sending a refund request on your behalf to our specialized team. 
Please keep in mind that this will be subject for investigation and is not a guarantee of approval.

I will provided an update within 48 hours or as soon as I get a response from our specialized team.

Sincerely,

*****
Google Cloud Platform Support

ようやく払い戻しのリクエストを出してくれたようです。

ここから、ただひたすら吉報を待ちます。

11月9日

Thank you for your patience and I hope this message finds you well.

This is to update you that I am still waiting for a response from our specialized team in regards to the refund request that I submitted. 
I apologize for the delay but rest assured that I am constantly monitoring your case.

I will get back to you within 2 business days for update or as soon as I receive a response from our specialized team.

11月12日

Thank you for your continued patience.

This is to update you that I'm still waiting a response from our specialized team regarding the refund request.

11月16日

Thank you for your continued patience.

I would like to update you that I am still waiting for a response from our specialized team regarding the refund request that I have sent.

ついに吉報(11月19日)

I hope this message finds you well.

After a thorough review of your charges with our approval team, 
it is in good faith that a refund was issued to your account for $81.43. 
As it is issued as a goodwill gesture, 
it's worthy of noting that we can only accord this favor as a one time courtesy. 
Please be reminded that it will take 7 to 10 business days time frame depending on the bank’s process for the refund to be completed.

I will leave this case open for 48 hours in case you still need further assistance regarding your credit request.

確認すると、払い戻しの履歴が!

f:id:imunew:20161119112532p:plain

担当者に感謝するとともに、以後、気を付けますと反省文みたいなメールを送っておきました。

HI *****,

Thank you for the response and the kindness of you and your team.
I confirmed that $81.43 was refunded.

I will be careful not to leave instances running inadvertently.
And I will continue using Google Cloud Platform.

Sincerely,

クラウドの環境はinfrastructure as a codeにして、いつでも再構築できるようにした上で、使い終わった環境は破棄するように心がけましょう。

おわりに

どうやら、こういうクラウドサービスから高額請求されることを「クラウドパケ死」とか言うらしいです。

僕は過去にみたQiitaの記事を思い出しました。

qiita.com

みなさんもクラウドパケ死しないように日頃から十分に注意してください。

Google Cloud Platformを上手に活用して、楽しいプログラミングライフを!

ではまた。

第01回てくてく勉強会に参加してきました

前職のときに、たまたまお話する機会があって、献本までいただいた我妻さんからFBでお誘いがあったので、第01回てくてく勉強会に参加してきました。 tekutekuteku.connpass.com

しかも、Symfony勉強会で知り合った酒井さんによるLTがあるとのことで、とりあえずボッチになることはなさそうです。

テーマは”サーバーレス”

かなりホットな話題ということに加えて、私も勉強目的で、郵便番号検索APIをlambdaで実装していたところだったので、これは何かお役に立てるかもしれないという気持ちがありました。

rebuild.fm

speakerdeck.com

※郵便番号APIのネタは先ほどQiitaにて公開しました。 qiita.com

参加してみて

所感をざっくり列挙してみます。

  • 他己紹介面白かった
  • Firebase(MBaas)班とlambda(Faas)班にざっくり分かれてもくもくした
  • 自分はlambda班
  • 事前に成果物があったので、実質もくもくせずにおしゃべりしてた
  • やっぱり交流が面白い
  • 成果物発表でコードレビューしてもらって、鋭い意見をもらえたの良かった

f:id:imunew:20161106232128j:plain

あと、モフールのステッカー配りまくりました。 ステッカーは先日のプレゼントに同梱されていたものです。

imunew.hatenablog.com

おまけに

帰りに東京駅でラーメン屋並んでたら、我妻さんに遭遇。ラーメン屋から出たところでまた我妻さんに遭遇。 バツが悪いの通り越して、運命感じましたw
第02回も無条件で参加しようと思います。
次のテーマはTensorFlowになりそうかな。
では、また。

モバイルバッテリー当選しました #backspacefm #mofurbsfm

backspace.fmリスナーの方はご存知かと思いますが、cheeroのモバイルバッテリー当選しました。
関係者のみなさま、どうもありがとうございました。
大切に使いたいと思います。

開封の儀

届いてから少し経ってしまいましたが、ようやく開封動画撮りました。
mofur(モフール)のかわいいステッカーがたくさん入っていたので、どこかで配りたいと思います。 youtu.be

当選までの経緯

当選にいたるまでの経緯が若干あるので、記しておきます。

9月15日 backspace.fm メーリングリストにて応募開始

f:id:imunew:20161024092057p:plain

ちなみにMLの登録リンクは、こちらから。 まだ登録できるはず。

応募条件

応募条件は複数あって、下記のすべての条件をクリアした方の中から、条件5.のツイートの内容をみて当選者を3名選ぶとのことでした。

  1. backspace.fmのMLに登録(このメールを見てる時点でクリアしてると思いますが)
  2. backspace.fmのポッドキャストを購読
  3. drikin、yuka、mazzoのYouTubeチャンネル購読 https://www.youtube.com/channel/UCTfta7Ult6yLu7ru-WInOGg https://www.youtube.com/channel/UC1JMhM9TJT7yMLx8ZtbDO8g https://www.youtube.com/channel/UCj0h8xgWopElmKwHQPy1RYg
  4. @mofur_tv のTwitterアカウントをフォロー
  5. mofur内の気に入った動画のURLを動画の感想と #backspacefm #mofurbsfm のハッシュタグをつけてつぶやく https://mofur.tv/ http://blog.fenrir-inc.com/jp/2016/09/mofur_150.html

当選につながったツイート

当選につながったツイートはこちらです。

で、このツイートはリプライがありまして、

さりげなく、backspaceリスナーを増やしにかかります。

.@ツイート + #backspacefm #mofurbsfm のハッシュタグでさらに追い込みをかけました。

リプライくれた、さまりたんさんはその後リスナーになったのだろうか。。。

正直、この段階で「これは当選するんじゃないか」と思いました(笑。

10月13日 当選者発表

先日の10月13日のB-side #082にて、めでたく当選しました。
B-side #082:ドローンが結ぶ家族の絆 – backspace.fm

エピソードが2時間ほどあるんですが、当選の瞬間は最後のほうなので、そこだけ聴きたい方はこちらのリンクからどうぞ。
B-side #082:ドローンが結ぶ家族の絆 1:55:00 〜 当選者発表

運を小出しに消費するタイプ

昔から抽選には割りと当たる方で、今まで結構いただいてきました。

  • Tシャツ(板チョコモナカのプレゼント)
  • iPod nano(結婚式の二次会)
  • ドンペリ(結婚式の二次会)
  • Macbook Air(2011年頃。会社の総会)
  • 芋焼酎(キャンペーン)

次の目標は、backspace.fmに出演することです。
どうやったら、できるかな。

では、また。

フリーランスになって変わったこと感じたこと

2016年10月からフリーランスとして活動しています。 まだ、1ヶ月も経ってないわけですが、そんな中でも変わったこと感じたことについてログっておきます。

片道2時間の通勤 => 在宅ワーク

平塚から片道2時間かけて都内に通勤していたことを考えると、毎日4時間、1日の6分の1を移動していたことになるわけです。 頭では分かっていたことではありますが、実際その移動時間が不要になったことで、メリット・デメリットがあるなと感じています。

  • 時間に余裕ができる

    • 奥さんとランチに行ける
    • 家族と一緒に夕食がとれる
  • 人と会わなくなる(会うのが億劫になる)

    • 交通費がもったいないと感じてしまいがち
    • 実際、お金は使わなくなる
    • 必要なことはオンラインミーティングで十分だが、雰囲気は分からない

責任あるポジション => 1人のエンジニア

マネージャーというよりは、技術リード的な立場から1人のエンジニアになったことで変わったことがあると感じています。

  • 裁量はあるものの決定権はないので、判断を仰ぐことが多い
    • 複数のPull Requestを並行して作っている状況で、依存しているPull Requestがマージされないと辛い
    • プロジェクトに長くいると不満が出てくるかもしれない

準委任契約 = 工数に対する対価

個別契約の内容にもよるんですが、 工数=費やした時間が売上につながるので、ついつい勤務時間を減らしたくないという意識が働きます。

  • 日給にしてしまうと、営業日が少ない月(祝日が多いなど)は売上が下がってしまう
    • 月給にすることで勤務時間の範囲が設定できるので、可能なら相談してみる

おわりに

毎日この椅子で仕事していますが、今のところ満足しています。 まさにお値段以上。 f:id:imunew:20161013083740j:plain

www.nitori-net.jp

みなさん姿勢には気をつけましょう。 では、また。