HDE BLOG

コードもサーバも、雲の上

SaaS Conference TOKYO 2017に行って来た。

English version is here.

勉強会はBlogを書くまでが勉強会と誰かが言っていました。勉強会ではないですが先日SaaS Conference Tokyo 2017に参加する機会があったのでまとめてみたいと思います。

SaaS Conference TOKYO 2017とは? 

ベンチャーキャピタリストである前田ヒロさんが昨年から始められたConference、シリコンバレーでも特に注目を集めているSaaSスタートアップで活躍するスペシャリストの方々や日本のSaaSスタートアップ企業のけ方々を招いて講演いただくというもの。第2回となる今年は「ARRゼロから100億円まで、SaaSスタートアップの成長」と銘打ち、海外からMongoDB, DoubleDutch, Stripeが、日本からはSmartHR, Salesforce, プレイドが登壇。因みに、参加費6,500円、懇親会3,500円と日本ではまだ珍しい有償のConferenceとなっています。

詳細はこちらのURLから http://saastokyo.jp/

きっかけ

いつの間にやら弊社HDEがこのカンファレンスのスポンサーになっていました。スポンサー枠で3名までConferenceに参加できるということで参加することができました。

HDEもPlatinum Sponsorとして協賛

スタート

いよいよスタートです。前田ヒロさんの挨拶やConferenceに対しての思いなどが語られました。

世界レベルのSaaSマーケチームの作り方

Mongo DBのCMO Meagen Eisenbergさんから前半はプレゼンテーション、後半は前田ヒロさんがファシリテートしながらのQAという形、今回は前編基本的にこのフォーマットでカンファレンスが進められていた。前田ヒロさんが参加者が聞きたいような質問を上手く聞いてくださったので非常に分かりやすかった。

Webフォームの作り方からスタートアップ時にマーケティングの何処にお金を掛けるべきかなど参考になった。

MarketoやSalesforceなどのMAツール、CRMツールはMust、 Mongo DBではマーケと営業が問い合わせ(無償ダウンロードを含む)を突き合わせながら良い問い合わせなのかどうかを週次でミーティングをしているとのこと。

因みに20年程前、早稲田大学に通っていたとのこと、同級生かも?!

SaaSのZero to One

SmartHRの宮田さんによるこの2年間でSmartHRがどのように成長してきたかという赤裸々な話し。カスタマーサクセスが何か判らなかったときに採用した社員にカスターマーサクセス担当した。早めに広報担当を採用して良かった。マーケ担当は早く取りたかったが取れなかった、何故テレビCMに敢えて打って出たかなど。

CEOとしての仕事もビジネスのステージによって大きく変わったとのこと、創業期は営業、プロダクトマーケだったが、今は組織作りがメインとのこと。

Churn RateやARR、ARPAといった用語を普通に使って経営指標にしているという話は流石SaaS ネイティブと思った。

セールスフォースのセールスフォース ~ 営業部隊の構築と育成 ~

続いてSalseforce.com Japanの営業のマネージャー2人によるお話、それぞれインサイドセールスと外販のマネージャーとのことで少し違った立場からSalesforce社内の営業組織の構築、運営のお話。「The Model」と名付けているらしい。実はHDEの営業組織もこのThe Modelを参考にしていてこの話は他で一度聞いたことがありましたが、採用から評価の方法やインサイド→外販のプロモートの流れやインセンティブの話などより踏み込んだ話を聞くことができました。

1チーム7名制にしてそれ以上増えたら枠を増やしてリーダーを置くという話はマイクロソフトでも聞いたことがあり、経験則の観点から1人のマネージャーが管理するのに最適な人数なのかなと思いました。

大型ACVの秘訣

プレイド鈴木さんのお話、ECサイトの裏側で顧客接客ができる『KARTE』を運営されています。

前田ヒロさんの「もし、スタート時に戻れるとしたら何をやる、やらない?」という質問に対して、「サービスを絞ってスタートする」、他のプランのために本流のプランの開発が遅れたり、負の遺産として残ってしまっている部分などがあるとのこと。それにしても凄いARPU(1契約あたりの売り上げ)の推移!

SaaSの値段設定

Patrick McKenzieさんによるSaaSの価格付けの話、この方、岐阜に長いこと住んでいたとのことでしたがともかく早口。終盤に来てなかなかつらい。

SaaSの価格付けの話、日本のSaaSのマーケットは非常に大きなポテンシャルがコンペティターが少ないのと外国からの参入は日本語や文化の障壁が高いのでチャンスだとも言われてました。

ARR 25億円までの道のり

最後にDoubleDutch Lawrence Coburnさんと前田ヒロさんの対談、Conferenceの終盤、英語、さらにプレゼン資料無しの3重苦。流石アメリカ人、凄い座り方!ととりあえず思いました。

3倍→3倍→2倍→2倍→2倍でARRを成長させることができれば成功だとおっしゃっていました。

失敗したことは?との質問にも80億ドル?調達できちゃってちょっとお金使いすぎたとのこと。

Lighting Talk

因みにスポンサー枠で3分間のLTの時間をいただくことができましたのでHDEの宣伝をさせていただきました。※ちゃんと仕事してます!

懇親会

場所を変えて懇親会。思いの外、人が少ない。登壇者の方々も参加されていました。ちらほら知り合いにも会うことができました。その中でも高校のクラブの後輩(直接の後輩ではないですが)で今はAIトラベルというのCEOの村田くんにも再会。出張の飛行機やホテルの予約をAI使ってスムーズに行ってくれるサービスです。みなさんも良ければ使ってみてください。

まとめ

ほとんどのSaaSスタートアップがSaaSスタートアップとして生まれている(当然ですが)ためHDEと色々違う部分があるなと思いました。Negative Churn RateやARRなどここ数年で社内でも使いだした言葉が普通に使われているんだと再確認しました。

マーケティングの話、営業の評価、教育、採用の話、SaaSの価格付けの話、SaaSスタートアップ企業がどのように成長してきたのかとバライティーに富んだ色々な話が聞けてとても勉強になりました。6,500円を出す価値は十分にあったのではないかと個人的には思います。

できれば来年は登壇者側にHDEもまわれるように頑張りたいと思います。

反省、備忘録

今回PCでメモを取りながら講演を聞いていましたが、電源無しではPCのバッテリが持ちませんでした。そのため後半は、ノートにメモを取る形にしましたが聞きながらノートに書きながらははかなりしんどかったです。(その為、後半の講演の内容が少し薄め(言い訳)です。)次に向けては何か検討しないといけないと思いました。

カンファレンスからこのブログをアップするまで約1週間掛かってしまいました。もう少しスピーディーにアップできるように前もって準備すれば良かったと思います。

今回、3分のLTがあったりしてバタバタして事前の下調べをしないで参加してしまいました。もう少し登壇者の方々のサービスの内容など調べてから行って、できれば質問ができればと思いました。

39th Monthly Technical Session (MTS) Report

39th Monthly Technical Session (MTS) was held on October 20th, 2017. MTS is a knowledge sharing event, in which HDE members present some topics and have QA sessions, both in English.

The moderator of the 39th MTS was Jonas-san.

f:id:doi-t:20171020165815j:plain

The first topic was "How to use CMC Webhook" by Arakawa-san. Customers Mail Cloud (CMC) is a cloud-based email infrastructure that is scalable, reliable and easy to implement. To distribute mails massively and securely, CMC provides various features such as SMTP / API integration, mail distribution for mobile, DKIM / TLS encryption, delivery report, error analysis, webhook integration and so on.

This time Arakawa-san introduced CMC webhook integration for Bounce Email Handling. He emphasized the advantage of webhook API and showed us a demonstration with Zapier and Slack. With this integration, we can instantly know email statuses.

f:id:doi-t:20171020170017j:plain

The second topic was "A Real-time Environmental Monitoring and Analysis For a Simplified Smart Agriculture System" by Denis-san who is one of guest speakers. Currently, he studies at Tokyo University of Agriculture and his study is monitoring Tomato growth with wireless sensor efficiently.

Growing Degree Days (GDD) is very important to control quality of farm products. GDD are typically used to monitor crop development, the assumption being that development is limited once the temperatures exceed a certain threshold. Since it is not enough to have only a wireless sensor dashboard, he implemented sensor data analytics system using pandas and numpy to combine cumulative GDD into one plot with Bokeh. Now the farmer can see daily activity of Tomato and think how to control its quality with his implementation.

f:id:doi-t:20171020172247j:plain

The third topic was "Go Concurrency in 10 minutes" by Shihan-san. Go has built-in concurrency system based on CSP to emphasis on “Do not communicate by sharing memory; instead, share memory by communicating.”, which is a slogan in Go.

This time, he introduced the basic for non gophers. He explained several go keywords such as Goroutines, Channels, Select with live demo. Lastly, he gave us a link to learn more details of concurrency in Go.

f:id:doi-t:20171020172830j:plain

The fourth topic was "Integrating backends, frontends and designers into one workflow" by Daniel-san who is UI/UX Developer and another guest speaker. To explain importance of UI/UX, he picked up a Japanese web site that has images for titles in the beginning of his talk. He, then, explained why this can happen through the relationship between designers, UI developers and backend developers.

To integrate backends, frontends and designers into one workflow, he suggested to define Style Guide / Patterns Guide in the team. As a further solution, he additionally suggested to create and maintain components that define patterns in the code to clearly define UI behaviours.

f:id:doi-t:20171020174745j:plain

The fifth topic was "The Truth of XaaS" by Kenny-san. XaaS is anything or everything as a service (SaaS, PaaS, IaaS). A truth of XaaS is that the customers are more powerful than ever before. It caused two trends, new cloud economy and new consumption economy, which are creating huge impact to the Tech industry.

He also gave us an idea of the different levels of user adoption. He explained how to improve user adoption from a product perspective. Monitoring real-time customer insights is the way to improve user adoption and it can provide us a chance of giving proactive feedback to the customers.

f:id:doi-t:20171020182515j:plain

The sixth topic was "Small talk on Smalltalk" by Stefan-san. He is one of our Global Internship Program (GIP) participants. He started to introduce Smalltalk from the history of object oriented programming (OOP) citing a quote by Dr. Alan Curtic Kay.

Smalltalk is an object-oriented, dynamically typed, reflective programming language. In Smalltalk, everything is an object and each object can send messages to another object. He explained how an object works in smalltalk and introduced other features that Smalltalk provides. At the end, he demonstrated how Smalltalk actually works with interactive IDE Pharo that allows us to see the detail of individual object.

f:id:doi-t:20171020183132j:plain

The seventh topic was "Go Serverless" by Stephen-san. He is also one of our GIP participants. He explained what serverless is, good points of AWS lambda and some difficulties dealing with AWS Lambda. For the help of the difficulties, he introduced frameworks such as serverless, Zappa and Apex.

Through his experiments of these frameworks, he concluded serverless framework is the most comprehensive. It allows us to manage other aws resources. According to his experience, the problem is that the framework does not explain minimum IAM Role permissions. So it’s still hard to implement and manage the entire system.

f:id:doi-t:20171020184338j:plain

The eighth topic was “GraphQL: A query language for your API” by Elvan-san. He is also one of our GIP participants. GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. While typical REST APIs require loading from multiple URLs, GraphQL allows us get many resources in a single request.

In the talk, he overviewed GraphQL’s concepts and its architecture. He also explained how to write GraphQL with example codes to build schemas, setup code resolvers and run queries.

f:id:doi-t:20171020185630j:plain

As usual, we had a party afterwards :)

f:id:doi-t:20171020192829j:plain

f:id:doi-t:20171020195921j:plain

f:id:doi-t:20171020192938j:plain

f:id:doi-t:20171020194640j:plain

Serverless Framework

Hi! My name is Stephen and as a GIP Intern I worked in the DevOps team at HDE. My primary work during my internship involved using AWS Lambda functions. AWS Lambda are based upon the idea of ‘Serverless’ architecture. This means you don’t need to have an active server listening to requests, and you don’t to worry about maintaining any server. Lambda functions also make it very easy to scale to a large amount of users without worrying about changing code. While Lambda functions provide amazing features, deploying and managing them is very difficult. This is especially true when there is a 3rd party library in your code. This requires a difficult zip packaging process, which has to be done every time you change your code.

To make this process simpler, I investigated tools to automate the deployment and management of Lambda functions. I tried many different 3rd party frameworks, but the most comprehensive and full featured framework was the Serverless Framework. With just a few commands, you can have your lambda function deployed to AWS. With Serverless Framework, the complicated zip packaging process is no longer needed. The Serverless Framework provides detailed documentation for setup, configuration, and 3rd party plugins. It allows easy management of AWS infrastructure, and has an extensive 3rd party community. For example, updating Lambda code is as simple as running:

$ sls deploy

Managing infrastructure with Serverless Framework is as simple as writing 1 or 2 lines. Included with every Serverless application is a yml file. YML files are a popular format for continuous integration services such as Travis CI and Circle CI, and its just as easy to use with Serverless. With the Serverless Framework, you can add and manage infrastructure associated with AWS Lambda functions such as SNS triggers, API Gateway, and S3 buckets. As an example, you can add an SNS trigger to your Lambda function by writing the following in your YML file:

f:id:stephenlinkk:20171027153311p:plain

After running the command sls deploy again, Serverless Framework will handle attaching this SNS trigger to your Lambda function automatically. This means you no longer have to navigate to the AWS console and manually add and create an SNS trigger. And then if you would like to remove this SNS trigger, it is as simple as removing that one line of code in the YML file. If you decide that you need to add API gateway to your Lambda function, Serverless makes that process very effortless. Just add the following code to your YML file: f:id:stephenlinkk:20171027153348p:plain

Then again, run: sls deploy. Serverless Framework will attach API Gateway to your Lambda function and display the URL associated with the API gateway. When you are done with the Lambda functions, it is very easy to remove your Lambda functions and the associated infrastructure, just run this command:

$ sls remove

After this command is run, you will see that the Lambda functions are now gone from AWS, and any SNS or API Gateway infrastructure is removed as well. I hope this brief introduction to the Serverless Framework encourages you start moving your application to Serverless architecture. If you would like a more in-depth look at Serverless Framework, please check out there website. Also, I wrote many instructions to deploy and manage Serverless applications. So please, check out my Gist!

https://serverless.com/framework/

https://gist.github.com/stephenlink/043ca31a78039cbd884d0be3ab5bbe09

Elasticsearch: the One Stop Shop for All Your Search Needs

Here at HDE, we started with a homemade indexing algorithm to create indices of data that would be searched by users of our service. But after several years of providing the service, we realized that the performance of this algorithm, and the system that came with it, was not built for the sheer scale of our growing userbase. We especially noticed this with some users whose data came in the scale of terabytes per day and demanded peak performance, which is what prompted us to finally look for an alternative in indexing and searching emails, and that's how we met Elasticsearch.

続きを読む

38th Monthly Technical Session (MTS) Report

38th Monthly Technical Session (MTS) was held on September 22nd, 2017. MTS is a knowledge sharing event, in which HDE members present some topics and have QA sessions, both in English.

The moderator of the 38th MTS was Kevin-san.

f:id:bagus-rahman:20171004190457j:plain

The first topic was "Introduction to AWS SAM" by Bagus. AWS SAM stands for AWS Serverless Application Model. As the name implies, it is a model used to define serverless applications on AWS. Serverless applications are applications composed of functions triggered by events.

AWS SAM is based on AWS CloudFormation, which is a service that allows users to manage AWS resources. AWS CloudFormation uses templates as blueprints for creating AWS resources. It manages related AWS resources as a single unit called a stack. With AWS SAM, a serverless application is defined in an AWS CloudFormation template and deployed as an AWS CloudFormation stack.

AWS SAM builds upon AWS CloudFormation to provide simpler ways to create AWS resources related to serverless applications. It provides new resource types, event source types, and property types. Being based on AWS CloudFormation should make AWS SAM work well with any serverless application frameworks that support AWS CloudFormation. Another advantage of using AWS SAM is AWS SAM Local, an AWS CLI tool for managing serverless applications written with AWS SAM. One of its main features is the ability to test AWS Lambda functions locally.

f:id:bagus-rahman:20171004190541j:plain

The second topic was "Elasticsearch: You Know, for Search" by Bumi-san. Elasticsearch is a distributed, RESTful search and analytics engine. It can be used for a broad variety of use cases, from simple keyword search to log aggregation and geolocation queries.

Elasticsearch is highly scalable, highly available, and is an all-in-one toolbox. It runs well both on a laptop and on a cluster of hundreds of servers handling petabytes of data. According to Bumi-san, in order to achieve desirable availability, it provides automatic recovery and data replication. It also comes with features such as aggregations, suggestions, and on the latest version: machine learning.

Elasticsearch provides full text search, and this feature is built on solid text analysis capabilities. Elasticsearch has no shortage of text analysis tools, such as analyzers, tokenizers, stemmers, and more. It also handles stopwords, synonyms, and misspellings.

f:id:bagus-rahman:20171004190601j:plain

The third topic was "PyCon APAC 2017" by Doi-san and Yuri-san. The event had two keynotes. The first keynote was about Python's impact on the business world. The second keynote was about Python community. It focused on several aspects, one of which is teaching people to program.

In total, there were 29 sessions from 27 speakers. A good number of these sessions are about topics that are trending recently, such as artificial intelligence, machine learning, data analytics, and big data. There were also several sessions about Python community. Based on these sessions, Doi-san concluded that Python 3 is still underutilized.

HDE was a proud sponsor of the event. We set up a booth and interacted with the attendees. Most of the nearly 200 attendees of the event are on jobs. Interestingly, almost half of the attendees came from overseas.

f:id:bagus-rahman:20171004190610j:plain

The fourth topic was "Introduction to Landscape" by Kusumoto-san. Landscape is a management tool to deploy, monitor, and manage Ubuntu servers. Landscape is available both on-premise and as a software-as-a-service. Landscape On-premises is free (for up to 10 machines), while Landscape SaaS is a paid service.

Landscape provides quite a lot of features, such as systems management, monitoring, security and compliance maintenances, inventory control, and package repository management. Kusumoto-san explained how to install Landscape client and demonstrated each of the aforementioned features.

f:id:bagus-rahman:20171004190638j:plain

The fifth topic was "Join the Dark Side (What Is Metaprogramming)" by Stefan-san. He is one of our Global Internship Program (GIP) participants. Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data. Consequently, a program can be designed to generate, read, or transform other programs. Metaprogramming can even allow a program to modify itself during runtime.

Metaprogramming is done in different ways across multiple programming languages. Stefan-san explained how metaprogramming is done in Python, Java, Go, and Ruby. He had actually used metaprogramming before, in Ruby. He mentioned some use cases of metaprogramming, one of which is 'redirecting' non-existent functions to existing ones.

f:id:bagus-rahman:20171004190646j:plain

The sixth topic was "Why I Love React" by Elvan-san. He is also one of our GIP participants. React is a JavaScript library for building user interfaces. At a glance, React is the view part of web applications, encourages declarative user interfaces, and drives component-based development. React has some unique aspects, such as components, JSX, and virtual DOM.

Elvan-san explained the aspects of React he likes the most. Moving between projects is easy due to common React concepts. There are apparently a lot of React components available. React also has hot reload. But perhaps more than all of these, he likes that React enables maintainability and scalability. In other words, making changes is straightforward and adding features is simple due to straightforward architecture.

f:id:bagus-rahman:20171004190706j:plain

The seventh topic was "Startup Incubators in USA: Chasing the American Dream!" by Stephen-san. He is also one of our GIP participants. Startup incubators are companies that help startups by providing services such as management training or office space. Through incubators, startups gains 'seed' funding, advice, mentorship, networking opportunities, strong community, and friendships, among other things.

Stephen-san told the story of his participation in a startup incubator program in his university. Non-students can participate as well, and in total there were 9 startups. The program was 10 weeks long, during which they have activities such as visiting venture capitals and investors. He also introduced his startup from the program, including the members and the product.

f:id:bagus-rahman:20171004190717j:plain

As usual, we had a party afterwards :)

37th Monthly Technical Session (MTS) Report

37th Monthly Technical Session (MTS) was held on August 25th, 2017. MTS is a knowledge sharing event, in which HDE members present some topics and have QA sessions, both in English.

f:id:bagus-rahman:20170905192040j:plain

The moderator of the 37th MTS was David-san.

f:id:bagus-rahman:20170905190900j:plain

The first topic was "AWS Service Update Summary 2017 Q2+ (April - August)" by Mitsuharu Hamba-san from AWS. He began by sharing information on new regions. A new AWS Region in Paris will be opened in 2017. Another new AWS Region in Stockholm will be opened in 2018. AWS will also open a new region in Osaka in 2018. According to Hamba-san, Osaka will be a local region. It is assumed to be used in combination with Tokyo region.

Some existing services had also been made available for Tokyo region in the last 4 months. First is Amazon EC2 P2 instances, which are ideal for compute-intensive applications that require high-performance GPU coprocessors and massive parallel floating point performance. Next is Amazon Lightsail, which helps the launch and management of virtual private servers. In the case of AWS X-Ray, it had moved from preview to general availability.

There are so many updates to existing services. Detailed, well-written information on them are readily available at the AWS Blog.

f:id:bagus-rahman:20170905191236j:plain

The second topic was an explanation of the data collection flow of our company's data warehouse project by Kogure-san. This project that he has been working on is very important in enabling data visualization and environment analysis. This project consists of several steps, but in this session he focused on explaining the first one, which is building data collection flow.

This data warehouse project collects HDE One services data. Each HDE One service has their own data collection flow. Kogure-san explained all of the completed ones. He showed the architectures and reported the number of records of each data collection flow. Now that Amazon Kinesis Firehose is available in the Tokyo region, he would like to utilize it to improve his current designs.

f:id:bagus-rahman:20170905191338j:plain

The third topic was "How to Find DMARC Failure" by Okubo-san. Okubo-san has been teaching us about DMARC for some time now, presenting topics about it on the 26th and 27th MTS. He also wrote an article about it on this blog. This time, he explained a project he's working on which monitors and visualizes DMARC reports.

Brief review: DMARC is an email authentication, policy, and reporting protocol. Its authentication is based on SPF and DKIM. ISPs provide DMARC reports for email senders. If a DMARC record includes rua parameter, then DMARC reports can be received via email. However, DMARC reports are XML files, so they are not exactly human-readable. Okubo-san's project summarizes and presents DMARC reports so that they are easier to understand. Some of its features include identifying DKIM and SPF results and showing WHOIS information.

f:id:bagus-rahman:20170905191409j:plain

The fourth topic was "Let's Warm up IP Addresses" by Matsuura-san. IP reputation is very important for message transfer agents (MTAs). Sending email, especially lots of them, from a brand new IP address is not advantageous. The spike of volume of emails sent from an IP address may result in it getting a bad reputation. Emails sent from an IP address with bad reputation will likely fail to reach their destinations.

One way to solve this is by warming up IP addresses, gradually increasing the volume of emails sent from IP addresses according to a predetermined schedule. Matsuura-san explained some problems of warming up IP addresses to make them work with Office 365. The first problem is receiving limits, which is the number of emails that can be received per hour. The limits are considerably less than his target, so he utilized shared mailboxes to receive more emails. The second problem is the opacity of Office 365's IP throttling methods. This is solved by warming IP addresses for several weeks, and stop increasing volume of emails sent for a few days whenever an IP address was throttled.

f:id:bagus-rahman:20170905191443j:plain

The fifth topic was "3 Interesting Facts about Filipinos" by Furukawa-san. She had been learning English in Cebu, Philippines, for almost 4 months. She told us some facts that are interesting to her. First, Filipinos seem to love karaoke so much. She saw people singing while walking on the streets and restaurant and shop staffs singing while working. There seem to be many karaoke shops and machines in the Philippines, as she showed some pictures of them.

Second, Filipinos seem to love to take selfies. When Furukawa-san went to tourist attractions with her Filipino teachers, they spent 1 to 2 hours taking selfies. TIME magazine awarded Makati City, Philippines, as the Selfie Capital of the World.

Third, Filipinos celebrate Christmas for 4 months. Christmas season starts from September to December, the so-called 'Ber Months'. Most Filipinos are Christians, and Filipinos seem to love celebrations. When September comes, Filipinos decorate their houses and shops, and Christmas songs can be heard in many places.

f:id:bagus-rahman:20170905191543j:plain

The sixth topic was "Auditing with Lighthouse" by Kevin-san. Lighthouse is an open-source, automated tool for improving the quality of web pages. It analyzes web apps and web pages, collecting modern performance metrics and insights on developer best practices. It has been a part of Chrome DevTools since Chrome 60. So perhaps the simplest way to check it out is to update to Chrome 60 and click on Chrome DevTools' Audits toolbar.

Lighthouse scores 4 categories: Progressive Web App, Performance, Accessibility, and Best Practices. Progressive Web App audit checks whether a site or app is interactive online. Performance audit refreshes a site or app with the new 'Slow 3G' network throttle. Accessibility audit checks for ARIA roles, uses aXe. Best practices audit checks for manifest.json files, checks for passive event listeners, etc.

f:id:bagus-rahman:20170905191636j:plain

The seventh topic was "EuroPython 2017" by Jonas-san. EuroPython 2017 was held from 9th until 16th July, 2017, in Rimini, Italy. It was organized by the European Python Society with the help of 25 sponsors, attended by more than 1000 people. In Jonas' opinion, when compared to PyCon US, EuroPython is a lot smaller, a lot less commercial, a lot less professional, but a lot more enjoyable.

Some of the talks that Jonas found interesting includes "A Python for Future Generations" by Armin Ronacher; "Making Games with Python: Mission Impossible?" by Tomislav Uzelac, Martin Christen, and Roberto De Ioris; "Fighting the Controls: Tragedy and Madness for Programmers and Pilots" by Daniele Procida; "PyPy Meets Python 3 and NumPy" by Armin Rigo; and "The Encounter: Python's Adventures in Africa" by Daniele Procida and Aisha Bello. Jonas himself had a talk, titled "Why You Might Want to Go Async". Besides talks, EuroPython also had social events, sprints (gathering in a room developing anything), and a hallway track.

f:id:bagus-rahman:20170905191732j:plain

As usual, we had a party afterwards :)

f:id:bagus-rahman:20170905192102j:plain

Attending de:code 2017 in Tokyo / de:code 2017 参加レポート

After a big conference Microsoft Build 2017 at Seattle, Washington in US in the beginning of May (my colleagues had written a report of Build), Microsoft also held another conference, de:code 2017, at The Prince Park Tower Tokyo in Japan for 2 days from May 23 to May 24, 2017. I would like to share my experience of attending it.

去る5月上旬にシアトルにて行われたMicrosoft Build 2017 (Buildについては同僚が参加レポートを書いてくれています)から約2週間後、ザ・プリンス パークタワー東京にてde:code 2017が開催されました。今回これに参加してきたので、体験して来たことを参加レポートとして共有したいと思います。

f:id:doi-t:20170523084145j:plain

de:code is an annual conference held by Microsoft, which is aimed for developers same as Build. However, unlike Build, this conference is more focused on Japan’s market and Japanese developer communities. This focus is reflected in its contents. So I would like to focus on the difference between Build and de:code in this report. If you want to know more details about de:code, videos are now available.

de:codeはBuildと同じくマイクロソフト公式の開発者向けカンファレンスではあるのですが、より日本の市場や開発者コミュニティの志向を反映したようなコンテンツでした。最大8トラック並行で様々なセッションがあり、詳細はde:codeの公式ブログにて確認できます。また、Channel 9にて動画も公開されています。

続きを読む