読者です 読者をやめる 読者になる 読者になる

HDE BLOG

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

28th Monthly Technical Session (MTS) Report

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

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

The moderator of 28th MTS was Bagus.

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

The first topic was a workshop of an HDE service, by Hayashi-san. He began by explaining what the service is and the motivation behind its development. So that other members can help test the service, Hayashi-san demonstrated how to install and use the service. He also explained how to uninstall the service. To close the presentation, Hayashi-san asked the audience to contact him if they find some problems in the service or if they have some ideas about improving the service.

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

The second topic was a comparison between Amazon Simple Email Service (SES) and an HDE service, by Okubo-san. According to his observation, SES and the HDE service differs in several aspects, which are verifying from addresses, sending emails, moving out of sandbox, handling bounced emails, and suppression list. Okubo-san concluded that SES is a good framework for transactional emails. On the other hand, the HDE service is not a framework, but it's able to send various types of emails.

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

The third topic was the logging and monitoring aspect of an HDE Service, by Jeffrey-san. This was a continuation of his presentation in the 25th MTS. Jeffrey-san began by explaining the logging approach that is used in his project. He spent more time explaining monitoring, because there are some issues related to it that he had to resolve. He described each issue and its solutions in detail. Because there was still time, he ended the presentation by explaining an automated task related to monitoring.

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

The fourth topic was task automation using Microsoft Azure, by Imaizumi-san. The tasks he intended to automate are the ones related to deploying HDE One services. Imaizumi-san began by explaining the motivation behind implementing this solution. He then showed the system architecture and demonstrated how the solution would work. He ended the presentation by explaining the relationship of his solution with other deployment task automation solutions in HDE.

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

The fifth topic was the internals of an HDE service, by Tanabe-san. Because there were lots of technical details to be explained, this presentation was longer than the others. Tanabe-san began by comparing this service with its predecessor. He then introduced the members of the project, and explained what each of the members is working on. He continued by explaining the system architecture and key concepts of the design process. Then, he explained each component of the system in detail. After that, he talked about release, deployment, and monitoring of the service. He ended the presentation by addressing lessons learned and future works.

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

The sixth topic was 'Genetics 2.0' by Alice-san. She is one of our current Global Internship Program (GIP) participants. Alice-san has an undergraduate degree in biomedical science and has 4 years worth of work experience in the field of molecular biology. She talked about applications of computer science in genetics. First, there is Cello, with which users can generate DNA sequences that describe logic functions for control of gene expression in bacteria. Second, machine learning is sometimes used in researches, such as to model gene/protein interactions and identify genetic risk factors.

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

The last topic was 'Wrap those Naked Variables for Good' by David-san. He is the other one of our current GIP participants. Naked values are values that may sometimes be null. These values are quite troublesome, because functions may not tell that they return such values, they cause Null Pointer Exceptions, and they make codes full of if not null statements. David-san explained a pattern that helps handling this, which is Maybe Box. It tells us that a function might return a value. Just(a) is a box containing a value, while Nothing is an empty box. To handle both cases, we can use map. With this, functions will only be applied to Just(a), never to Nothing.

f:id:bagus-rahman:20161128161023p:plain

As usual, we had a party afterwards.

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