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.


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.


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.


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.


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.


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.


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.


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.


As usual, we had a party afterwards :)