freeeに転職して2年と11ヶ月が経とうとしています。新卒で入って企画/営業をしていた前職SIerには2年9ヶ月いたので、とうとうエンジニアとして働いた期間の方が長くなってしまいましたね…

Open Source Friday

最近freeeというか所属しているチームでOpen Source Fridayという取り組みが始まりました。

これ(「Open Source Friday」をGitHubが提唱。金曜日は自分の好きなオープンソースに貢献しよう)をやってみようというものです。

私たちはGitHubの従業員に対して少なくとも毎週第四金曜日には時間をとってオープンソースに協力し、お互いにどんなことをしたのか共有しあいましょうと呼びかけてきました

毎週(元記事の誤訳)でも毎月でもないですが、試行錯誤しつつ今後も続いていきそうです。

なぜやるのか?

  • かつての社内でもあったGoogleの20%的なものを継続的にやる
  • 社内のプロダクトへの貢献という枠を越えてOSSに貢献する
  • コードを集中して書く

あたりです。自分たちのプロダクトもOSSに支えられているので自分たちも貢献しようというのにはとても共感します。

こういう取り組みがなくてもやりたい人はやればいいと思いますが、「会社においても大事な活動と捉えられ、サポートしてもらえる」というのはとてもテンションが上がりました。

※サポート = 時間を確保してもらえる

推奨される活動

  • OSSにパッチを出す
  • 自分でリポジトリを立ててコードを書く
  • その他オープンな技術的な活動

テーマ設定

イベントありきで無理にテーマをひねり出すのではなく、普段の活動の延長でやりたいなぁという思いがありました。

Micorosoft公式リポジトリのハンズオンを日本語訳してQiitaに投稿した記事が元々あったので、どうせなら公式ドキュメントにしてしまうか…

ということで、「自分で訳した記事を本家に取り込んでもらう!」をテーマにすることにしました。

Qiita記事: Visual Studio for Mac で Azure Functions と Azure Table Storage を操作する Microsoft 公式チュートリアルの日本語訳
本家リポジトリ: Microsoft/vs4mac-labs

Visual Studio for Macのハンズオンに特化したリポジトリで、下記のようなカテゴリがあります。

  • Azure Functions
  • Docker
  • IoT
  • Mobile
  • Unity
  • Web

それぞれのカテゴリ自体の情報は多いですが、基本的にVisual Studio "for Windows" で扱うものが多く、その辺にわざわざリポジトリを独立させてある意義もあるのかなぁと思っています。

日本語記事が1ページ増えること自体はどうってことないかもしれませんが、広まるきっかけ作りになればいいなぁと思っています。

PR作り

PRの中身大体できてるんだからそれPRにしたらおしまいでは?と思う方もいらっしゃるかもしれません。実際そうです。

ただ、いくつか元々わかってなかったことがありました。

画像のホスティング

README.mdに載っている画像ってどこから配信してるんでしょうか?

同一リポジトリに画像フォルダでもあるのかなと思って探してみたのですが、ありませんでした。

URLを見てみると、たとえばこんな感じ。

https://user-images.githubusercontent.com/3944468/29033686-bdddd454-7b4a-11e7-8494-b3dad886c20a.png

このURLを調べてみると、GitHubのissueに画像をD&DするとURLが生成され、そのissueの存在の有無にかかわらずコンテンツは残り続けるということがわかったので活用しました。

いつ消えても文句言えないけど、それはGitHub諸共なくなってしまうときでは…とか思ったり。

参考: GitHubのissueを悪用して画像をホストする

あとは日本語設定にしたVS4Macでハンズオンを追い直しながら画像準備して、注目してほしい部分をSkitchを使って囲うという作業ゲーが最高に面倒でした。

素の画像サイズで上がるので、元の画像いじっておくか、タグで幅指定するとよさげです。

元のハンズオンのサイズに合わせました。

<あいえむじー src=https://user-images.githubusercontent.com/7035446/31535876-a84b33d0-b037-11e7-96fb-f8e27d43daee.png width="620px">

PRの規約

特にルールとかなさそうだったものの、一応commitはまとめました。

あと、初めてPR出すときはContributor License Agreementへの同意が求められました。

急いでるときに見たらちょっとびっくりするので、先に見ておいてもよさげです。

Microsoft Contribution License Agreement

同意してないとこのbotに怒られます。

msftclas

マークダウンの文法

Qiitaで投稿したときにナンバリングがうまくいかず、バックスラッシュでごまかしたけどこれレビューで弾かれるんじゃ…って思ったので直しました。

と思ってPR見直したら直してなかったwww

以上を経て完成したPRがこちらです。

Azure Functions lab for Japanese

なかなかレビューされない

Open Source Fridayの実施が2017/10/13、マージされたのは2017/11/21でした。

それまでの間、

  • 日本のMSの方々にこのリポジトリ関係の知り合いいないか、レビューしてもらえないか聞いてみる
  • コミットの多い人にPR内でメンションする
  • twitterアカウント把握したのでお願いしようとしたけど思いとどまる

などをしていました。

直近めちゃくちゃ活発に動いてるわけではないリポジトリだとこういうこともあるかもしれません。

とりあえずマージされてよかった。

ドキュメント翻訳に思うこと

ドキュメントの翻訳は最近よくやっています。

  • (受験)英語もともと苦手ではない
  • 日本語記事あると捗るなら、まず公式のドキュメントが日本語で存在してほしい
  • 何回も見る記事を訳すので、あると自分にとっても都合がいい
  • 素のままで読めてると思っても、訳してみて「え?そんなこと書いてたっけ?」みたいにとりこぼしがある。もったいない。

ただ、今回のPRにしても、訳すにしても微妙だなぁと思うこともあります。

  • どうせならコード(設定ファイルとかでもいいから)でコントリビューションしたい
  • 翻訳は人間がやるべき本質的な作業ではない
  • 自分の「価値」をだいぶ疑う、頭使ってない感に負い目を感じる

とは言え、もちろん全部手で訳すほど暇ではないので、1文ずつGoogle Chromeのエクステンション(文にカーソル合わせたら訳文を表示してくれる)の訳文と原文見比べて、実態にそぐわないものや構文的な誤訳を修正するみたいなフローを延々と繰り返しています。

その中でまだ人が介在しないと危うい部分が少なからずあるので、このモヤモヤを振り払って翻訳している次第です。(自己弁護)

それでもやっぱりモニョるのはやっぱりコード書いてドヤァするまで拭えない感情でしょう。

まとめ

いろいろ論点ごっちゃにしてしまいましたが、

  • Open Source Friday楽しかった
  • 公式リポジトリに自分のPRがマージされたのは嬉しかった
  • コードでコントリビューションしていけるようにがんばるぞ

というおはなしでしたー

勉強会に参加したらブログにまとめるマンです。

今日は.NETラボ主催の勉強会に行ってきました!

コミュニティ

.NETラボ: .NET技術やマイクロソフト製品について勉強するコミュニティー。毎月第4土曜日に定期開催しています。

とのことです。毎月開催タイミング決まってたら心の準備しやすいですね!

勉強会

今日は.NETラボ 勉強会 2017年3月ということで、テーマは幅広くということでしたが、Microsoft Bot Frameworkネタが2件 + LUIS(Language Understanding Intelligent Service。Cognitive Servicesの1つでリクエストに含まれる文を解析して文の目的と構成要素に分解してレスポンスを返すよう学習させられるAPI)今すぐ手を動かして開発したくなるような話題が特にアツかったです。
ハッシュタグ #dotnetlab

お品書きとスライド

上がってるものはまとめていきます!概要はconnpassより。

  • .NETラボ紹介とご案内(木澤朋和さん
  • マイクロソフトMVPアワードプログラムのご紹介(木澤朋和さん
    • マイクロソフトMVPアワードプログラムのご紹介と新しくなった申請方法についてお話します。応募を検討されている方のご相談にも乗ります。
  • 今こそMicrosoft Bot Frameworkを学ぼう中島進也さん
    • 2016年3月末に公開されたMicrosoft Bot Framework。 もうすぐ1年が経ち、そろそろPreview版から正式版になるのではと期待が高まります。 そこでBot Frameworkを使用したの開発を始めるにあたって必要な概要を俯瞰的に紹介いたします。
  • 最近流行りのエンジニア田舎へ移住ってどうなの?(藤原隆博さん)
    • ①移住を志した経緯 ②移住直前直後の失業時の苦労 ③田舎のit仕事って? ④客先常駐型の仕事はある? ⑤6次産業化、廃校利用等の新ビジネス ⑥マスメディアへの露出 ⑦兵庫県のit移住の補助金制度 ⑧移住に対する所感。
  • BotFramework と LUIS を使ったアプリの開発横浜 篤さん
    • BotFramwork(とBotServices)の概要と、Cognitve ServisesのLUISの概要を説明し、サンプルのアプリで開発の一例を紹介します。
  • 進化するEdge! ~Creators Update版の新機能から既存機能までまとめて解説~(日本マイクロソフト テクニカルエバンジェリスト さっくるさん
    • 今年の前半に公開が予定されているWindows 10 Creators Updateにより、Edgeには新しくさまざまな機能が追加されます。本セッションでは、Creators Updateで追加される可能性が高い新機能について、既存機能のおさらいやデモを交えてご紹介いたします。
  • ライトニングトーク & ディスカッション

セッションメモ

マイクロソフトMVPアワードプログラムのご紹介(木澤朋和さん

最近毎月申請できるようになったMVPについて。

特典はめちゃ多い!

  • MSDNサブスクリプション
  • Office 365 ENterprise E3提供
  • MCP受験料50% off
  • XamarinUniversityサブスクリプション
  • MVPグロサミ
  • Channel9での動画配信
  • 技術情報の提供(NDA)
  • 賞状と盾

それよりも、もちろんMVPになることが目的でないし、申請の要件にあるコミュニティへのよい影響や情報発信も受け取り手があってこそなので感謝を忘れずにというよいお話でした。

勉強会の後にお話聞かせていただきましたが、エンジニアとして大きくなるべくよい情報の発信(をするための鍛錬)やっていきたいなぁということで記事書いたりLTしたりやっていくことにします。

MVP詳細は公式ページにて!

今こそMicrosoft Bot Frameworkを学ぼう中島進也さん

Bot開発するためのフレームワークもいろいろ出てるんですね!

  • よさげなところ
  •  ワンソースでマルチチャネル(Slack、Skype、Facebook...)対応
  • Channel Inspectorで各チャネルにどの機能が対応してるか教えてくれる
  • 開発から公開までの全行程サポートが手厚い
  • 注意!
  • .NET Core未対応
  • Bot Directoryで公開することが前提で、プライベートで運用したい場合は要相談
  • 会話情報は匿名化して収集される(かも)
  • 気になる
  • Direct Line API: connector未対応のプラットフォームやスマホアプリと接続するためのしくみ
  • Xamarin Shopping App
  • C#でLine bot

よく使ってるプラットフォームにのっかって機能提供できるはめちゃくちゃアツいですね!

新しくアプリを入れるモチベーションがない人でもLineだったり、その他よく使ってるSlackやチャットサービスに向けて対話的なインタフェースでサービス提供できるとなったときに夢広がりますね。

と思う一方でLineにそういうサービス(アカウント)接続したところで継続的に使った試しはないので研究してみたいですね。

最近流行りのエンジニア田舎へ移住ってどうなの?(藤原隆博さん)

広い庭で犬と駆け回りたい…

というのはおいといて、僕は東京好きですが、土地の商機やチャンスを見出して生きていくのも素敵だなぁと思いました。

BotFramework と LUIS を使ったアプリの開発横浜 篤さん

Microsoftの言う「AIの民主化」の実感高まるセッションでした!

一から実装するには大変なAIパーツをGUIで設定するとAPIで利用できるし、もちろんbotから使うこともできる。

bot開発は中島進也さんの発表にもあった通り全フローのサポートが厚く、こんなエミュレータも!

コミュニティは盛んで資料も豊富!

4/8〜9にはハッカソンイベントも!

強いなぁと思いました。

進化するEdge! ~Creators Update版の新機能から既存機能までまとめて解説~(日本マイクロソフト テクニカルエバンジェリストさっくるさん

圧倒的情報量!

Edgeほぼ使ったことないですが、少なくともInternet Explorerに抱いていたイメージとはいい意味でかけ離れていました。

古いIEをエミュレートしたり、Windows Defender Application Guard(preview, 信頼されてないサイトを開くときに仮想環境でブラウザ立ち上げてチェックしてくれる)エンプラ系の設定も完全にスルーしてたので追っていきたいですね。

ディフェンスもガードもするんですか…!

あとエクステンションとUWPやWin32アプリを連携できるのは個人的にとてもとても気になるので攻めたいですね。

ライトニングトーク & ディスカッション

まとめ

自分も登壇しよう!と思いました。

今日聞いた話ももちろん、最近人と話しててぶつかり稽古が必要…

たまたま今日読んだこの記事(“ただの興味”がいつか武器になる–及川卓也氏が語る、一流エンジニアのアウトプット法)にも思うところがありました。

業務的にもWindowsデスクトップ(+ サーバサイドや関係するフロント)を作るのに加え、日々オープンに、ダイナミックに発展するMicrosoftの技術を取り入れてガンガン開発していこうぜ!というチームにしていくのでやっていくしかない状況です。

下のリンクの要件はちょっと古くなってますが、そんなチームを一緒に盛り上げていく仲間も募集してるので、ちょっとでも興味ある方は気軽に声かけてください!
日本を変えたいWindowsアプリエンジニア募集!!